taigatakano commited on
Commit
2327f3b
·
1 Parent(s): 6a42c18

Update 1/f Anlyze

Browse files
Files changed (7) hide show
  1. app.py +61 -2
  2. hoge.json +1883 -0
  3. lab_tools/analyze1f.py +103 -28
  4. lab_tools/ytutil.py +60 -0
  5. poetry.lock +242 -1
  6. pyproject.toml +3 -0
  7. run_dev_env.sh +5 -3
app.py CHANGED
@@ -1,7 +1,9 @@
1
  import gradio as gr
 
2
  from lab_tools import wavelet
3
  from lab_tools import labutils
4
  from lab_tools import analyze1f
 
5
 
6
 
7
  def update_slider_range(filepath):
@@ -12,6 +14,36 @@ def update_slider_range(filepath):
12
  return gr.update(minimum=min_value, maximum=max_value), gr.update(minimum=min_value, maximum=max_value, value=max_value)
13
 
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  with gr.Blocks() as main_ui:
16
  with gr.Tab("Wavelet"):
17
  with gr.Row():
@@ -53,15 +85,42 @@ with gr.Blocks() as main_ui:
53
  with gr.Tab("1f Noise Search"):
54
  with gr.Row():
55
  with gr.Column():
56
- file_input = gr.Text(label="YouTubeのリンクを貼り付けてください。")
 
 
 
 
 
 
 
 
57
  submit_button = gr.Button("計算開始")
 
58
 
59
  with gr.Column():
60
  caption = gr.Text(label="動画タイトル")
61
  result = gr.Image(type="filepath", label="Wavelet")
 
62
 
63
- submit_button.click(analyze1f.analyze_1f_noise, inputs=[file_input], outputs=[caption, result])
 
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
 
66
  if __name__ == "__main__":
67
  main_ui.queue().launch(server_name="0.0.0.0", server_port=7860)
 
 
1
  import gradio as gr
2
+ from moviepy.editor import VideoFileClip
3
  from lab_tools import wavelet
4
  from lab_tools import labutils
5
  from lab_tools import analyze1f
6
+ from lab_tools import ytutil
7
 
8
 
9
  def update_slider_range(filepath):
 
14
  return gr.update(minimum=min_value, maximum=max_value), gr.update(minimum=min_value, maximum=max_value, value=max_value)
15
 
16
 
17
+ def update_anlyze_setting(mode):
18
+ if mode == "YouTube":
19
+ return gr.update(visible=True, value=None), gr.update(visible=False, value=None), gr.update(visible=True), gr.update(value=None)
20
+ else:
21
+ return gr.update(visible=False, value=None), gr.update(visible=True, value=None), gr.update(visible=False), gr.update(value=None)
22
+
23
+
24
+ def update_slidar_range_youtube(video_url):
25
+ if video_url == "":
26
+ return gr.update(maximum=0, value=0), gr.update(maximum=0, value=0), gr.update(value=None), gr.update(value=None), gr.update(value=None)
27
+
28
+ video_info = ytutil.get_video_info(video_url)
29
+ duration = int(video_info["duration"]) - 1
30
+ title = video_info["title"]
31
+
32
+ ytutil.remove_mp4_file()
33
+
34
+ return gr.update(maximum=duration), gr.update(maximum=duration, value=duration), gr.update(value=title), gr.update(value=None), gr.update(value=None)
35
+
36
+
37
+ def update_slidar_range_video_file(file_path):
38
+ if file_path == "":
39
+ return gr.update(maximum=0), gr.update(maximum=0, value=0), gr.update(value=None), gr.update(value=None)
40
+
41
+ with VideoFileClip(file_path) as video:
42
+ duration = video.duration
43
+
44
+ return gr.update(maximum=duration), gr.update(maximum=duration, value=duration), gr.update(value=None), gr.update(value=None)
45
+
46
+
47
  with gr.Blocks() as main_ui:
48
  with gr.Tab("Wavelet"):
49
  with gr.Row():
 
85
  with gr.Tab("1f Noise Search"):
86
  with gr.Row():
87
  with gr.Column():
88
+ mode_setting = gr.Radio(
89
+ ["YouTube", "動画ファイル"],
90
+ label="解析データ",
91
+ value="YouTube",
92
+ )
93
+ youtube_url_input = gr.Text(label="YouTubeのリンクを貼り付けてください。")
94
+ file_input = gr.File(label="動画をアップロードしてください", visible=False, file_count="single", file_types=["mp4"])
95
+ start_time = gr.Slider(minimum=0, maximum=3600, value=0, step=1, label="Start Time (sec)")
96
+ end_time = gr.Slider(minimum=0, maximum=3600, value=10, step=1, label="End Time (sec)")
97
  submit_button = gr.Button("計算開始")
98
+ download_button = gr.Button("ダウンロード")
99
 
100
  with gr.Column():
101
  caption = gr.Text(label="動画タイトル")
102
  result = gr.Image(type="filepath", label="Wavelet")
103
+ file_result = gr.File(label="Downloaded Video")
104
 
105
+ submit_button.click(analyze1f.analyze_1f_noise, inputs=[mode_setting, youtube_url_input, file_input, start_time, end_time], outputs=[caption, result])
106
+ download_button.click(ytutil.download_youtube_video, inputs=[youtube_url_input], outputs=[file_result])
107
 
108
+ mode_setting.change(
109
+ update_anlyze_setting,
110
+ inputs=mode_setting,
111
+ outputs=[youtube_url_input, file_input, download_button, result]
112
+ )
113
+ youtube_url_input.change(
114
+ update_slidar_range_youtube,
115
+ inputs=youtube_url_input,
116
+ outputs=[start_time, end_time, caption, file_result, result]
117
+ )
118
+ file_input.change(
119
+ update_slidar_range_video_file,
120
+ inputs=file_input,
121
+ outputs=[start_time, end_time, file_result, result]
122
+ )
123
 
124
  if __name__ == "__main__":
125
  main_ui.queue().launch(server_name="0.0.0.0", server_port=7860)
126
+ ytutil.remove_mp4_file()
hoge.json ADDED
@@ -0,0 +1,1883 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "GgMtk3qhP-k",
3
+ "title": "\u3010\u9ad8\u97f3\u8ceaver\u3011Another Sky \u30fc TARO HAKASE &ANA Team HND Orchestra",
4
+ "formats": [
5
+ {
6
+ "format_id": "sb3",
7
+ "format_note": "storyboard",
8
+ "ext": "mhtml",
9
+ "protocol": "mhtml",
10
+ "acodec": "none",
11
+ "vcodec": "none",
12
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLBTX9n6iEbBBPr8wnarpwCI_Ej4Ug",
13
+ "width": 48,
14
+ "height": 27,
15
+ "fps": 0.2932551319648094,
16
+ "rows": 10,
17
+ "columns": 10,
18
+ "fragments": [
19
+ {
20
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L0/default.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLBTX9n6iEbBBPr8wnarpwCI_Ej4Ug",
21
+ "duration": 341.0
22
+ }
23
+ ],
24
+ "resolution": "48x27",
25
+ "aspect_ratio": 1.78,
26
+ "filesize_approx": null,
27
+ "http_headers": {
28
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
29
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
30
+ "Accept-Language": "en-us,en;q=0.5",
31
+ "Sec-Fetch-Mode": "navigate"
32
+ },
33
+ "audio_ext": "none",
34
+ "video_ext": "none",
35
+ "vbr": 0,
36
+ "abr": 0,
37
+ "tbr": null,
38
+ "format": "sb3 - 48x27 (storyboard)"
39
+ },
40
+ {
41
+ "format_id": "sb2",
42
+ "format_note": "storyboard",
43
+ "ext": "mhtml",
44
+ "protocol": "mhtml",
45
+ "acodec": "none",
46
+ "vcodec": "none",
47
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L1/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLAxDvVzwNBvTPh9XYNrlXvDV6uOrg",
48
+ "width": 80,
49
+ "height": 45,
50
+ "fps": 0.20527859237536658,
51
+ "rows": 10,
52
+ "columns": 10,
53
+ "fragments": [
54
+ {
55
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L1/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLAxDvVzwNBvTPh9XYNrlXvDV6uOrg",
56
+ "duration": 341.0
57
+ }
58
+ ],
59
+ "resolution": "80x45",
60
+ "aspect_ratio": 1.78,
61
+ "filesize_approx": null,
62
+ "http_headers": {
63
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
64
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
65
+ "Accept-Language": "en-us,en;q=0.5",
66
+ "Sec-Fetch-Mode": "navigate"
67
+ },
68
+ "audio_ext": "none",
69
+ "video_ext": "none",
70
+ "vbr": 0,
71
+ "abr": 0,
72
+ "tbr": null,
73
+ "format": "sb2 - 80x45 (storyboard)"
74
+ },
75
+ {
76
+ "format_id": "sb1",
77
+ "format_note": "storyboard",
78
+ "ext": "mhtml",
79
+ "protocol": "mhtml",
80
+ "acodec": "none",
81
+ "vcodec": "none",
82
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L2/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLBMv6c0JjSEiiU0_33dvRdHoL364w",
83
+ "width": 160,
84
+ "height": 90,
85
+ "fps": 0.20527859237536658,
86
+ "rows": 5,
87
+ "columns": 5,
88
+ "fragments": [
89
+ {
90
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L2/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLBMv6c0JjSEiiU0_33dvRdHoL364w",
91
+ "duration": 121.78571428571429
92
+ },
93
+ {
94
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L2/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLBMv6c0JjSEiiU0_33dvRdHoL364w",
95
+ "duration": 121.78571428571429
96
+ },
97
+ {
98
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L2/M2.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLBMv6c0JjSEiiU0_33dvRdHoL364w",
99
+ "duration": 97.42857142857142
100
+ }
101
+ ],
102
+ "resolution": "160x90",
103
+ "aspect_ratio": 1.78,
104
+ "filesize_approx": null,
105
+ "http_headers": {
106
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
107
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
108
+ "Accept-Language": "en-us,en;q=0.5",
109
+ "Sec-Fetch-Mode": "navigate"
110
+ },
111
+ "audio_ext": "none",
112
+ "video_ext": "none",
113
+ "vbr": 0,
114
+ "abr": 0,
115
+ "tbr": null,
116
+ "format": "sb1 - 160x90 (storyboard)"
117
+ },
118
+ {
119
+ "format_id": "sb0",
120
+ "format_note": "storyboard",
121
+ "ext": "mhtml",
122
+ "protocol": "mhtml",
123
+ "acodec": "none",
124
+ "vcodec": "none",
125
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M$M.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
126
+ "width": 320,
127
+ "height": 180,
128
+ "fps": 0.20527859237536658,
129
+ "rows": 3,
130
+ "columns": 3,
131
+ "fragments": [
132
+ {
133
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M0.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
134
+ "duration": 43.84285714285714
135
+ },
136
+ {
137
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M1.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
138
+ "duration": 43.84285714285714
139
+ },
140
+ {
141
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M2.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
142
+ "duration": 43.84285714285714
143
+ },
144
+ {
145
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M3.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
146
+ "duration": 43.84285714285714
147
+ },
148
+ {
149
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M4.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
150
+ "duration": 43.84285714285714
151
+ },
152
+ {
153
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M5.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
154
+ "duration": 43.84285714285714
155
+ },
156
+ {
157
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M6.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
158
+ "duration": 43.84285714285714
159
+ },
160
+ {
161
+ "url": "https://i.ytimg.com/sb/GgMtk3qhP-k/storyboard3_L3/M7.jpg?sqp=-oaymwENSDfyq4qpAwVwAcABBqLzl_8DBgih2-6nBg==&sigh=rs$AOn4CLByV3MY09dWjRjw4XKZ9kYYLJiu1w",
162
+ "duration": 34.10000000000002
163
+ }
164
+ ],
165
+ "resolution": "320x180",
166
+ "aspect_ratio": 1.78,
167
+ "filesize_approx": null,
168
+ "http_headers": {
169
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
170
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
171
+ "Accept-Language": "en-us,en;q=0.5",
172
+ "Sec-Fetch-Mode": "navigate"
173
+ },
174
+ "audio_ext": "none",
175
+ "video_ext": "none",
176
+ "vbr": 0,
177
+ "abr": 0,
178
+ "tbr": null,
179
+ "format": "sb0 - 320x180 (storyboard)"
180
+ },
181
+ {
182
+ "format_id": "233",
183
+ "format_note": "Default",
184
+ "format_index": null,
185
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/233/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D2079871%3Bdur%3D340.961%3Bgir%3Dyes%3Bitag%3D139%3Blmt%3D1624964155019972/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRQIgAun-FQ8gypOqQnZOyF96wBU37xYmwfphatMEqY_qyzECIQCeahtFmaa3ieHcBGLid1oR1OfYszZC8PndTrMOFJYryw%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRQIhAPilWQJTTMaMHn_ov-RDjkoy0ShtHTChQ5MkNO0jT8zxAiAPz2dVa002fr2yvBhWKDK9mRcXsAx7pjzCqYqcj1CQxg%3D%3D/playlist/index.m3u8",
186
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
187
+ "language": null,
188
+ "ext": "mp4",
189
+ "protocol": "m3u8_native",
190
+ "preference": null,
191
+ "quality": -1,
192
+ "has_drm": false,
193
+ "vcodec": "none",
194
+ "source_preference": -1,
195
+ "resolution": "audio only",
196
+ "aspect_ratio": null,
197
+ "http_headers": {
198
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
199
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
200
+ "Accept-Language": "en-us,en;q=0.5",
201
+ "Sec-Fetch-Mode": "navigate"
202
+ },
203
+ "audio_ext": "mp4",
204
+ "video_ext": "none",
205
+ "vbr": 0,
206
+ "abr": null,
207
+ "tbr": null,
208
+ "format": "233 - audio only (Default)"
209
+ },
210
+ {
211
+ "format_id": "234",
212
+ "format_note": "Default",
213
+ "format_index": null,
214
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/234/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D5517722%3Bdur%3D340.892%3Bgir%3Dyes%3Bitag%3D140%3Blmt%3D1624964155020857/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRgIhAI2TacdOgET0pCTGSDEj94PZ-jnfPCN_jsZRh7aulAw3AiEA1kzvr4KxOxPyIoS3bIGrqMg3XXoE5dxKZvDTS_uAYlw%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRQIgEi4-xZGaFWww1cJNI_Jt0hM-U669U2sB2LHy8zCp0uUCIQDWrnhpahNz9VWF1qVkIhoKTTnn8tPjH3iUq_qVgERlLw%3D%3D/playlist/index.m3u8",
215
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
216
+ "language": null,
217
+ "ext": "mp4",
218
+ "protocol": "m3u8_native",
219
+ "preference": null,
220
+ "quality": -1,
221
+ "has_drm": false,
222
+ "vcodec": "none",
223
+ "source_preference": -1,
224
+ "resolution": "audio only",
225
+ "aspect_ratio": null,
226
+ "http_headers": {
227
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
228
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
229
+ "Accept-Language": "en-us,en;q=0.5",
230
+ "Sec-Fetch-Mode": "navigate"
231
+ },
232
+ "audio_ext": "mp4",
233
+ "video_ext": "none",
234
+ "vbr": 0,
235
+ "abr": null,
236
+ "tbr": null,
237
+ "format": "234 - audio only (Default)"
238
+ },
239
+ {
240
+ "asr": 22050,
241
+ "filesize": 2079871,
242
+ "format_id": "139",
243
+ "format_note": "low",
244
+ "source_preference": -1,
245
+ "fps": null,
246
+ "audio_channels": 2,
247
+ "height": null,
248
+ "quality": 2.0,
249
+ "has_drm": false,
250
+ "tbr": 48.8,
251
+ "filesize_approx": 2079862,
252
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=139&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=audio%2Fmp4&rqh=1&gir=yes&clen=2079871&dur=340.961&lmt=1624964155019972&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAPHGcjzpBfq5C2WJpE8qUedb2gLqDz1uCt9V-Mnxo8mUAiBMjiOP2disKogWEXBA1oG00DDAEuFMBrEGw452OyB3UQ%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
253
+ "width": null,
254
+ "language": null,
255
+ "language_preference": -1,
256
+ "preference": null,
257
+ "ext": "m4a",
258
+ "vcodec": "none",
259
+ "acodec": "mp4a.40.5",
260
+ "dynamic_range": null,
261
+ "container": "m4a_dash",
262
+ "downloader_options": {
263
+ "http_chunk_size": 10485760
264
+ },
265
+ "protocol": "https",
266
+ "resolution": "audio only",
267
+ "aspect_ratio": null,
268
+ "http_headers": {
269
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
270
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
271
+ "Accept-Language": "en-us,en;q=0.5",
272
+ "Sec-Fetch-Mode": "navigate"
273
+ },
274
+ "audio_ext": "m4a",
275
+ "video_ext": "none",
276
+ "vbr": 0,
277
+ "abr": 48.8,
278
+ "format": "139 - audio only (low)"
279
+ },
280
+ {
281
+ "asr": 44100,
282
+ "filesize": 5517722,
283
+ "format_id": "140",
284
+ "format_note": "medium",
285
+ "source_preference": -1,
286
+ "fps": null,
287
+ "audio_channels": 2,
288
+ "height": null,
289
+ "quality": 3.0,
290
+ "has_drm": false,
291
+ "tbr": 129.489,
292
+ "filesize_approx": 5517720,
293
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=audio%2Fmp4&rqh=1&gir=yes&clen=5517722&dur=340.892&lmt=1624964155020857&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAOGmbDI2MiqUf1rePOxF_zmNYhz_GgqglvioR4HZErarAiEAvEfuUjAbt5zrbPuceRH_GeSDYefraL-fb5_d2wJtwX8%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
294
+ "width": null,
295
+ "language": null,
296
+ "language_preference": -1,
297
+ "preference": null,
298
+ "ext": "m4a",
299
+ "vcodec": "none",
300
+ "acodec": "mp4a.40.2",
301
+ "dynamic_range": null,
302
+ "container": "m4a_dash",
303
+ "downloader_options": {
304
+ "http_chunk_size": 10485760
305
+ },
306
+ "protocol": "https",
307
+ "resolution": "audio only",
308
+ "aspect_ratio": null,
309
+ "http_headers": {
310
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
311
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
312
+ "Accept-Language": "en-us,en;q=0.5",
313
+ "Sec-Fetch-Mode": "navigate"
314
+ },
315
+ "audio_ext": "m4a",
316
+ "video_ext": "none",
317
+ "vbr": 0,
318
+ "abr": 129.489,
319
+ "format": "140 - audio only (medium)"
320
+ },
321
+ {
322
+ "format_id": "602",
323
+ "format_index": null,
324
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/602/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D1120587%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D598%3Blmt%3D1624964714177305/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRAIgBgx65tz0FOO2_MjXKnA_wog8b2VcOmXK8Xa28RzpEQ4CID295AeFTfx6rNprhJXt5iFn-W_g2VdQEiYfzGDpUX0-/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRAIgJL1qiw7ULA5tcd2FApRCVnsDObC7TplgjZ_KP_YmeUUCIB6_iUVP4KIL7ozmgXITpaur8n-9erDugl_mrjhhqFfV/playlist/index.m3u8",
325
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
326
+ "tbr": 83.786,
327
+ "ext": "mp4",
328
+ "fps": 12.0,
329
+ "protocol": "m3u8_native",
330
+ "preference": null,
331
+ "quality": 0,
332
+ "has_drm": false,
333
+ "width": 256,
334
+ "height": 144,
335
+ "vcodec": "vp09.00.10.08",
336
+ "acodec": "none",
337
+ "dynamic_range": "SDR",
338
+ "source_preference": -1,
339
+ "resolution": "256x144",
340
+ "aspect_ratio": 1.78,
341
+ "http_headers": {
342
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
343
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
344
+ "Accept-Language": "en-us,en;q=0.5",
345
+ "Sec-Fetch-Mode": "navigate"
346
+ },
347
+ "video_ext": "mp4",
348
+ "audio_ext": "none",
349
+ "abr": 0,
350
+ "vbr": 83.786,
351
+ "format": "602 - 256x144"
352
+ },
353
+ {
354
+ "format_id": "269",
355
+ "format_index": null,
356
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/269/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D2257494%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D160%3Blmt%3D1624964855414280/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRQIgOzj6PQRJo24VNtjs10U8zMchyhsrMvfRKH-iL-UlP7QCIQDx0mIS2sHuUYSJUsxiexN2nDIcoUJVRF8fJNHJPKC-3Q%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRQIgPJlM0wJpcu_7qw3ZWDMsq8Tk8tBHsabipnfS0-cVaSYCIQD56smL2sCKXh-4vcnqytLFP0WK1OPk70Vv99eitth_LQ%3D%3D/playlist/index.m3u8",
357
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
358
+ "tbr": 136.519,
359
+ "ext": "mp4",
360
+ "fps": 24.0,
361
+ "protocol": "m3u8_native",
362
+ "preference": null,
363
+ "quality": 0,
364
+ "has_drm": false,
365
+ "width": 256,
366
+ "height": 144,
367
+ "vcodec": "avc1.4D400C",
368
+ "acodec": "none",
369
+ "dynamic_range": "SDR",
370
+ "source_preference": -1,
371
+ "resolution": "256x144",
372
+ "aspect_ratio": 1.78,
373
+ "http_headers": {
374
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
375
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
376
+ "Accept-Language": "en-us,en;q=0.5",
377
+ "Sec-Fetch-Mode": "navigate"
378
+ },
379
+ "video_ext": "mp4",
380
+ "audio_ext": "none",
381
+ "abr": 0,
382
+ "vbr": 136.519,
383
+ "format": "269 - 256x144"
384
+ },
385
+ {
386
+ "asr": null,
387
+ "filesize": 2257494,
388
+ "format_id": "160",
389
+ "format_note": "144p",
390
+ "source_preference": -1,
391
+ "fps": 24,
392
+ "audio_channels": null,
393
+ "height": 144,
394
+ "quality": 0.0,
395
+ "has_drm": false,
396
+ "tbr": 52.986,
397
+ "filesize_approx": 2257468,
398
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=160&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=2257494&dur=340.840&lmt=1624964855414280&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhAONvXU1UBr5xv7rTQZ5qU_nlDrij2HYrXCrPsLfScbXQAiBVgAxm-jFRObz-7APWIbZKHkkjzwcycIby8-XpdUJK2g%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
399
+ "width": 256,
400
+ "language": null,
401
+ "language_preference": -1,
402
+ "preference": null,
403
+ "ext": "mp4",
404
+ "vcodec": "avc1.4D400C",
405
+ "acodec": "none",
406
+ "dynamic_range": "SDR",
407
+ "container": "mp4_dash",
408
+ "downloader_options": {
409
+ "http_chunk_size": 10485760
410
+ },
411
+ "protocol": "https",
412
+ "resolution": "256x144",
413
+ "aspect_ratio": 1.78,
414
+ "http_headers": {
415
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
416
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
417
+ "Accept-Language": "en-us,en;q=0.5",
418
+ "Sec-Fetch-Mode": "navigate"
419
+ },
420
+ "video_ext": "mp4",
421
+ "audio_ext": "none",
422
+ "abr": 0,
423
+ "vbr": 52.986,
424
+ "format": "160 - 256x144 (144p)"
425
+ },
426
+ {
427
+ "format_id": "603",
428
+ "format_index": null,
429
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/603/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D3416508%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D278%3Blmt%3D1624964913412416/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRAIgL-wRLeG8QejHeNqSFuD1M8FUW_YRelcVmxpmo2Gv1yMCIDgbkcwQPWnVAr21HvH0-DgWzVbB6uxut5YV0b7_Aqvc/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRgIhANVhhO-M3kRsYj9vUvnRyvjZ26RxdEeaUaKcjgtUDSweAiEAyxpUAZs3vUi7B6pPtl-P5cKeDLZNWnaC0X-PjcGbjfY%3D/playlist/index.m3u8",
430
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
431
+ "tbr": 145.13,
432
+ "ext": "mp4",
433
+ "fps": 24.0,
434
+ "protocol": "m3u8_native",
435
+ "preference": null,
436
+ "quality": 0,
437
+ "has_drm": false,
438
+ "width": 256,
439
+ "height": 144,
440
+ "vcodec": "vp09.00.11.08",
441
+ "acodec": "none",
442
+ "dynamic_range": "SDR",
443
+ "source_preference": -1,
444
+ "resolution": "256x144",
445
+ "aspect_ratio": 1.78,
446
+ "http_headers": {
447
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
448
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
449
+ "Accept-Language": "en-us,en;q=0.5",
450
+ "Sec-Fetch-Mode": "navigate"
451
+ },
452
+ "video_ext": "mp4",
453
+ "audio_ext": "none",
454
+ "abr": 0,
455
+ "vbr": 145.13,
456
+ "format": "603 - 256x144"
457
+ },
458
+ {
459
+ "format_id": "229",
460
+ "format_index": null,
461
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/229/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D4513077%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D133%3Blmt%3D1624964853482947/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRAIgBoxg4LZPOQCtqiAxsp1UDWuCHGcWS-4wYUWgJVr8rcUCIA8QiuBjmmjigMG8nzGs06GhdFPNuVOSJXsVVS7BKWee/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRgIhAID8gbLa1Zrv8PfAI2hVsMuEc1WzPV0jfD6IfdrFw0NPAiEA3uDIXxBozmYHRDy27GtMYkDwAZY-TM6Os-dArc3ul_Y%3D/playlist/index.m3u8",
462
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
463
+ "tbr": 221.996,
464
+ "ext": "mp4",
465
+ "fps": 24.0,
466
+ "protocol": "m3u8_native",
467
+ "preference": null,
468
+ "quality": 5,
469
+ "has_drm": false,
470
+ "width": 426,
471
+ "height": 240,
472
+ "vcodec": "avc1.4D4015",
473
+ "acodec": "none",
474
+ "dynamic_range": "SDR",
475
+ "source_preference": -1,
476
+ "resolution": "426x240",
477
+ "aspect_ratio": 1.77,
478
+ "http_headers": {
479
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
480
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
481
+ "Accept-Language": "en-us,en;q=0.5",
482
+ "Sec-Fetch-Mode": "navigate"
483
+ },
484
+ "video_ext": "mp4",
485
+ "audio_ext": "none",
486
+ "abr": 0,
487
+ "vbr": 221.996,
488
+ "format": "229 - 426x240"
489
+ },
490
+ {
491
+ "asr": null,
492
+ "filesize": 4513077,
493
+ "format_id": "133",
494
+ "format_note": "240p",
495
+ "source_preference": -1,
496
+ "fps": 24,
497
+ "audio_channels": null,
498
+ "height": 240,
499
+ "quality": 5.0,
500
+ "has_drm": false,
501
+ "tbr": 105.928,
502
+ "filesize_approx": 4513062,
503
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=133&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=4513077&dur=340.840&lmt=1624964853482947&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAONqJZA1o59GsIH_fAToPe9_bubytVy9-wj3Nz7PbNC5AiEAsCUpQfJSnitGqybzeyTfTz0pN_BMy9yPdgdhubHbuV4%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
504
+ "width": 426,
505
+ "language": null,
506
+ "language_preference": -1,
507
+ "preference": null,
508
+ "ext": "mp4",
509
+ "vcodec": "avc1.4D4015",
510
+ "acodec": "none",
511
+ "dynamic_range": "SDR",
512
+ "container": "mp4_dash",
513
+ "downloader_options": {
514
+ "http_chunk_size": 10485760
515
+ },
516
+ "protocol": "https",
517
+ "resolution": "426x240",
518
+ "aspect_ratio": 1.77,
519
+ "http_headers": {
520
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
521
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
522
+ "Accept-Language": "en-us,en;q=0.5",
523
+ "Sec-Fetch-Mode": "navigate"
524
+ },
525
+ "video_ext": "mp4",
526
+ "audio_ext": "none",
527
+ "abr": 0,
528
+ "vbr": 105.928,
529
+ "format": "133 - 426x240 (240p)"
530
+ },
531
+ {
532
+ "format_id": "604",
533
+ "format_index": null,
534
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/604/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D5773100%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D242%3Blmt%3D1624964904544485/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRAIgH-8Gej917kkjGYxb7z-0-ut2RE5baOiCRSPv4NLMm_oCIGqVeNtIyPoohwUA1YLtmLiyM90MfX0CN299USHliVC_/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRQIhAJ49m0B_NcB7kH3YHmnVjH2FymEhtY6pUidisxVrfmPyAiB2r2ksYmUI8Q1E1EDoRiQ6hXpznijgVbdi7segk04KuQ%3D%3D/playlist/index.m3u8",
535
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
536
+ "tbr": 252.54,
537
+ "ext": "mp4",
538
+ "fps": 24.0,
539
+ "protocol": "m3u8_native",
540
+ "preference": null,
541
+ "quality": 5,
542
+ "has_drm": false,
543
+ "width": 426,
544
+ "height": 240,
545
+ "vcodec": "vp09.00.20.08",
546
+ "acodec": "none",
547
+ "dynamic_range": "SDR",
548
+ "source_preference": -1,
549
+ "resolution": "426x240",
550
+ "aspect_ratio": 1.77,
551
+ "http_headers": {
552
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
553
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
554
+ "Accept-Language": "en-us,en;q=0.5",
555
+ "Sec-Fetch-Mode": "navigate"
556
+ },
557
+ "video_ext": "mp4",
558
+ "audio_ext": "none",
559
+ "abr": 0,
560
+ "vbr": 252.54,
561
+ "format": "604 - 426x240"
562
+ },
563
+ {
564
+ "format_id": "230",
565
+ "format_index": null,
566
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/230/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D8194104%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D134%3Blmt%3D1624964850629460/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRgIhAMtI2Fr9U26-RsDKgQRXAKmp25NyLswwgw0dZ-j2AAW_AiEA58P5Fs8QFqgZzcgph3bQE7m_HMYAUXJRW2zxaIR8f3I%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRAIgKToGRtHTFTXh712Dv9GLOPOHDOtWB07NE4pWGC8edFQCICV5NKPQTm7AlV1pDGzPlcj3fzLVhxeVQcxR4VMluLSA/playlist/index.m3u8",
567
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
568
+ "tbr": 422.881,
569
+ "ext": "mp4",
570
+ "fps": 24.0,
571
+ "protocol": "m3u8_native",
572
+ "preference": null,
573
+ "quality": 6,
574
+ "has_drm": false,
575
+ "width": 640,
576
+ "height": 360,
577
+ "vcodec": "avc1.4D401E",
578
+ "acodec": "none",
579
+ "dynamic_range": "SDR",
580
+ "source_preference": -1,
581
+ "resolution": "640x360",
582
+ "aspect_ratio": 1.78,
583
+ "http_headers": {
584
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
585
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
586
+ "Accept-Language": "en-us,en;q=0.5",
587
+ "Sec-Fetch-Mode": "navigate"
588
+ },
589
+ "video_ext": "mp4",
590
+ "audio_ext": "none",
591
+ "abr": 0,
592
+ "vbr": 422.881,
593
+ "format": "230 - 640x360"
594
+ },
595
+ {
596
+ "asr": null,
597
+ "filesize": 8194104,
598
+ "format_id": "134",
599
+ "format_note": "360p",
600
+ "source_preference": -1,
601
+ "fps": 24,
602
+ "audio_channels": null,
603
+ "height": 360,
604
+ "quality": 6.0,
605
+ "has_drm": false,
606
+ "tbr": 192.327,
607
+ "filesize_approx": 8194091,
608
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=134&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=8194104&dur=340.840&lmt=1624964850629460&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgF-cefSo8x_MpP5DyKCwlsNYWHAV4llOzKv4e3-bmH-MCIQDD5ESSbQkHgJSsQvPgvXwRKcmsFqsPbCM8A8hxq-jLaA%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
609
+ "width": 640,
610
+ "language": null,
611
+ "language_preference": -1,
612
+ "preference": null,
613
+ "ext": "mp4",
614
+ "vcodec": "avc1.4D401E",
615
+ "acodec": "none",
616
+ "dynamic_range": "SDR",
617
+ "container": "mp4_dash",
618
+ "downloader_options": {
619
+ "http_chunk_size": 10485760
620
+ },
621
+ "protocol": "https",
622
+ "resolution": "640x360",
623
+ "aspect_ratio": 1.78,
624
+ "http_headers": {
625
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
626
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
627
+ "Accept-Language": "en-us,en;q=0.5",
628
+ "Sec-Fetch-Mode": "navigate"
629
+ },
630
+ "video_ext": "mp4",
631
+ "audio_ext": "none",
632
+ "abr": 0,
633
+ "vbr": 192.327,
634
+ "format": "134 - 640x360 (360p)"
635
+ },
636
+ {
637
+ "format_id": "605",
638
+ "format_index": null,
639
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/605/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D11198710%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D243%3Blmt%3D1624964907356865/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRQIgC-ZtfQfDH9F9SvYnUyfHkcln4qjVVECaXwJPZUHb-hECIQDsxtC8A-jA8V7jtnht4bWAxUaujub96B5Cv0_kKSU7jw%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRgIhAJv0ApN6C2tI78WY5H9dpX719oD10xCv7cVbQEAV0BOEAiEAgd0zzBN6mPKGdFSbnkHnq-tT-8gGFqvWEcDw0kSGNPQ%3D/playlist/index.m3u8",
640
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
641
+ "tbr": 565.808,
642
+ "ext": "mp4",
643
+ "fps": 24.0,
644
+ "protocol": "m3u8_native",
645
+ "preference": null,
646
+ "quality": 6,
647
+ "has_drm": false,
648
+ "width": 640,
649
+ "height": 360,
650
+ "vcodec": "vp09.00.21.08",
651
+ "acodec": "none",
652
+ "dynamic_range": "SDR",
653
+ "source_preference": -1,
654
+ "resolution": "640x360",
655
+ "aspect_ratio": 1.78,
656
+ "http_headers": {
657
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
658
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
659
+ "Accept-Language": "en-us,en;q=0.5",
660
+ "Sec-Fetch-Mode": "navigate"
661
+ },
662
+ "video_ext": "mp4",
663
+ "audio_ext": "none",
664
+ "abr": 0,
665
+ "vbr": 565.808,
666
+ "format": "605 - 640x360"
667
+ },
668
+ {
669
+ "format_id": "231",
670
+ "format_index": null,
671
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/231/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D15947063%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D135%3Blmt%3D1624964855076992/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRAIgWU49Nf_eroe5EoStQqh0WB6s7qWkAaWcZQ9YabmGIBICIFNgtCKssRk3xkrmnotV4HiJW2F-wgzq9jN4C4r7bUHZ/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRQIgfECREss2T-V3Dajyw6gN-RieS28QKOllK57cgTBIWjACIQDfaFytIN0RHAydFBqGag2T-jro3G3Rd0gh7Y56V9W-8A%3D%3D/playlist/index.m3u8",
672
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
673
+ "tbr": 676.536,
674
+ "ext": "mp4",
675
+ "fps": 24.0,
676
+ "protocol": "m3u8_native",
677
+ "preference": null,
678
+ "quality": 7,
679
+ "has_drm": false,
680
+ "width": 854,
681
+ "height": 480,
682
+ "vcodec": "avc1.4D401E",
683
+ "acodec": "none",
684
+ "dynamic_range": "SDR",
685
+ "source_preference": -1,
686
+ "resolution": "854x480",
687
+ "aspect_ratio": 1.78,
688
+ "http_headers": {
689
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
690
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
691
+ "Accept-Language": "en-us,en;q=0.5",
692
+ "Sec-Fetch-Mode": "navigate"
693
+ },
694
+ "video_ext": "mp4",
695
+ "audio_ext": "none",
696
+ "abr": 0,
697
+ "vbr": 676.536,
698
+ "format": "231 - 854x480"
699
+ },
700
+ {
701
+ "asr": null,
702
+ "filesize": 15947063,
703
+ "format_id": "135",
704
+ "format_note": "480p",
705
+ "source_preference": -1,
706
+ "fps": 24,
707
+ "audio_channels": null,
708
+ "height": 480,
709
+ "quality": 7.0,
710
+ "has_drm": false,
711
+ "tbr": 374.3,
712
+ "filesize_approx": 15947051,
713
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=135&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=15947063&dur=340.840&lmt=1624964855076992&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgDjYwZYnq44mQdlqjQxKwjP1sAq9xCtO-5sF2T2nonsoCIQDcWpt0DiF4g0kWhPKsiN22bPAm2BhqE-qbksQOOitKhA%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
714
+ "width": 854,
715
+ "language": null,
716
+ "language_preference": -1,
717
+ "preference": null,
718
+ "ext": "mp4",
719
+ "vcodec": "avc1.4D401E",
720
+ "acodec": "none",
721
+ "dynamic_range": "SDR",
722
+ "container": "mp4_dash",
723
+ "downloader_options": {
724
+ "http_chunk_size": 10485760
725
+ },
726
+ "protocol": "https",
727
+ "resolution": "854x480",
728
+ "aspect_ratio": 1.78,
729
+ "http_headers": {
730
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
731
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
732
+ "Accept-Language": "en-us,en;q=0.5",
733
+ "Sec-Fetch-Mode": "navigate"
734
+ },
735
+ "video_ext": "mp4",
736
+ "audio_ext": "none",
737
+ "abr": 0,
738
+ "vbr": 374.3,
739
+ "format": "135 - 854x480 (480p)"
740
+ },
741
+ {
742
+ "format_id": "606",
743
+ "format_index": null,
744
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/606/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D17321085%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D244%3Blmt%3D1624964931542129/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRQIgbNfmJjw0yzgrbLR16RqCRzTzB2h2XPPumU8wjqoK2dkCIQC6VFwJixMAfxPNQxOz2d8HSvwkr6Dl_rli0WxlebcE-w%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRgIhAPM-EHgsM42NQy-mmNznqFk-Nz_BcB18qk3wckjGHlL0AiEA2ROrlASVg7CJV0Nn7H8rdi6UJ_A3BXz7Uw5gqqlCQz4%3D/playlist/index.m3u8",
745
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
746
+ "tbr": 833.333,
747
+ "ext": "mp4",
748
+ "fps": 24.0,
749
+ "protocol": "m3u8_native",
750
+ "preference": null,
751
+ "quality": 7,
752
+ "has_drm": false,
753
+ "width": 854,
754
+ "height": 480,
755
+ "vcodec": "vp09.00.30.08",
756
+ "acodec": "none",
757
+ "dynamic_range": "SDR",
758
+ "source_preference": -1,
759
+ "resolution": "854x480",
760
+ "aspect_ratio": 1.78,
761
+ "http_headers": {
762
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
763
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
764
+ "Accept-Language": "en-us,en;q=0.5",
765
+ "Sec-Fetch-Mode": "navigate"
766
+ },
767
+ "video_ext": "mp4",
768
+ "audio_ext": "none",
769
+ "abr": 0,
770
+ "vbr": 833.333,
771
+ "format": "606 - 854x480"
772
+ },
773
+ {
774
+ "format_id": "232",
775
+ "format_index": null,
776
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/232/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D28384695%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D136%3Blmt%3D1624964850556390/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRQIhANw0m2yQlRxMT8wVYjTDRak1kUBUaurtnRiyvFYa1uxRAiBePAx2NvizijN9sfMp3Kim7FrCEP6BV2ZJnN5Tn8CFMg%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRQIgfL2W0H0gnmFirJq6uZytvP_As8tnJ4z6iBZERx5YaccCIQDL8CmszvYTk1yDaDT1o1Qjs-iQsTcLmYOEJQSqweBhzg%3D%3D/playlist/index.m3u8",
777
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
778
+ "tbr": 1222.825,
779
+ "ext": "mp4",
780
+ "fps": 24.0,
781
+ "protocol": "m3u8_native",
782
+ "preference": null,
783
+ "quality": 8,
784
+ "has_drm": false,
785
+ "width": 1280,
786
+ "height": 720,
787
+ "vcodec": "avc1.4D401F",
788
+ "acodec": "none",
789
+ "dynamic_range": "SDR",
790
+ "source_preference": -1,
791
+ "resolution": "1280x720",
792
+ "aspect_ratio": 1.78,
793
+ "http_headers": {
794
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
795
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
796
+ "Accept-Language": "en-us,en;q=0.5",
797
+ "Sec-Fetch-Mode": "navigate"
798
+ },
799
+ "video_ext": "mp4",
800
+ "audio_ext": "none",
801
+ "abr": 0,
802
+ "vbr": 1222.825,
803
+ "format": "232 - 1280x720"
804
+ },
805
+ {
806
+ "asr": null,
807
+ "filesize": 28384695,
808
+ "format_id": "136",
809
+ "format_note": "720p",
810
+ "source_preference": -1,
811
+ "fps": 24,
812
+ "audio_channels": null,
813
+ "height": 720,
814
+ "quality": 8.0,
815
+ "has_drm": false,
816
+ "tbr": 666.229,
817
+ "filesize_approx": 28384686,
818
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=136&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=28384695&dur=340.840&lmt=1624964850556390&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIhALxVaXkRvgf4y3Ro2fzukXDytO7xL4aU8GAHpF6aXbFVAiBaPO9hvNh7B629niZ3hUhT4XLzG7xZ5i4Yw5MFw6BuFQ%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
819
+ "width": 1280,
820
+ "language": null,
821
+ "language_preference": -1,
822
+ "preference": null,
823
+ "ext": "mp4",
824
+ "vcodec": "avc1.4D401F",
825
+ "acodec": "none",
826
+ "dynamic_range": "SDR",
827
+ "container": "mp4_dash",
828
+ "downloader_options": {
829
+ "http_chunk_size": 10485760
830
+ },
831
+ "protocol": "https",
832
+ "resolution": "1280x720",
833
+ "aspect_ratio": 1.78,
834
+ "http_headers": {
835
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
836
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
837
+ "Accept-Language": "en-us,en;q=0.5",
838
+ "Sec-Fetch-Mode": "navigate"
839
+ },
840
+ "video_ext": "mp4",
841
+ "audio_ext": "none",
842
+ "abr": 0,
843
+ "vbr": 666.229,
844
+ "format": "136 - 1280x720 (720p)"
845
+ },
846
+ {
847
+ "format_id": "609",
848
+ "format_index": null,
849
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/609/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D29617257%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D247%3Blmt%3D1624964902488232/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRQIhAL-AmzzoP-fWfEfla40avFmI-l8nj81rCga5_Flw1iwMAiB6CdJm9036-pT4_U_6Zel7WYDZNADElg0SaMjGMOOrAQ%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRQIhAPzpWXjZlKMAzyq_oGjNchZCCIVkO0OjeO8crrM6IKI4AiAKUT3fDw_nQs7rFGQfAMTVZBsiEYhmkatXg1DwGURV-A%3D%3D/playlist/index.m3u8",
850
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
851
+ "tbr": 1283.449,
852
+ "ext": "mp4",
853
+ "fps": 24.0,
854
+ "protocol": "m3u8_native",
855
+ "preference": null,
856
+ "quality": 8,
857
+ "has_drm": false,
858
+ "width": 1280,
859
+ "height": 720,
860
+ "vcodec": "vp09.00.31.08",
861
+ "acodec": "none",
862
+ "dynamic_range": "SDR",
863
+ "source_preference": -1,
864
+ "resolution": "1280x720",
865
+ "aspect_ratio": 1.78,
866
+ "http_headers": {
867
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
868
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
869
+ "Accept-Language": "en-us,en;q=0.5",
870
+ "Sec-Fetch-Mode": "navigate"
871
+ },
872
+ "video_ext": "mp4",
873
+ "audio_ext": "none",
874
+ "abr": 0,
875
+ "vbr": 1283.449,
876
+ "format": "609 - 1280x720"
877
+ },
878
+ {
879
+ "format_id": "270",
880
+ "format_index": null,
881
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/270/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D63582701%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D137%3Blmt%3D1624964679092634/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRQIgQYtgOnZok-pomBtMZLzoeNsZb1LUDk3Zq84evmg6_RYCIQCBZ0mMoFOu9G9sJM0APVzhFVqLea3M7WDcoXxaSflfUw%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRAIgIc6pkCHxLLc4nOyhIyyJO9gWBD27Di-cMj94DbBmVr4CIAwvXjBrG1SFtjt_f-bpq0VB_ie6DdZv7RATgr8bHqql/playlist/index.m3u8",
882
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
883
+ "tbr": 2151.412,
884
+ "ext": "mp4",
885
+ "fps": 24.0,
886
+ "protocol": "m3u8_native",
887
+ "preference": null,
888
+ "quality": 9,
889
+ "has_drm": false,
890
+ "width": 1920,
891
+ "height": 1080,
892
+ "vcodec": "avc1.640028",
893
+ "acodec": "none",
894
+ "dynamic_range": "SDR",
895
+ "source_preference": -1,
896
+ "resolution": "1920x1080",
897
+ "aspect_ratio": 1.78,
898
+ "http_headers": {
899
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
900
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
901
+ "Accept-Language": "en-us,en;q=0.5",
902
+ "Sec-Fetch-Mode": "navigate"
903
+ },
904
+ "video_ext": "mp4",
905
+ "audio_ext": "none",
906
+ "abr": 0,
907
+ "vbr": 2151.412,
908
+ "format": "270 - 1920x1080"
909
+ },
910
+ {
911
+ "asr": null,
912
+ "filesize": 63582701,
913
+ "format_id": "137",
914
+ "format_note": "1080p",
915
+ "source_preference": -1,
916
+ "fps": 24,
917
+ "audio_channels": null,
918
+ "height": 1080,
919
+ "quality": 9.0,
920
+ "has_drm": false,
921
+ "tbr": 1492.376,
922
+ "filesize_approx": 63582679,
923
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=137&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=video%2Fmp4&rqh=1&gir=yes&clen=63582701&dur=340.840&lmt=1624964679092634&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgdbMwne_VkRK1zrEvl8x4zG6WSZuXfqYvxbozTcMWecoCIQCnpR1st0vW18VFs4_WkqgUAwkIvlPs4FO6NXjfj4hoKQ%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
924
+ "width": 1920,
925
+ "language": null,
926
+ "language_preference": -1,
927
+ "preference": null,
928
+ "ext": "mp4",
929
+ "vcodec": "avc1.640028",
930
+ "acodec": "none",
931
+ "dynamic_range": "SDR",
932
+ "container": "mp4_dash",
933
+ "downloader_options": {
934
+ "http_chunk_size": 10485760
935
+ },
936
+ "protocol": "https",
937
+ "resolution": "1920x1080",
938
+ "aspect_ratio": 1.78,
939
+ "http_headers": {
940
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
941
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
942
+ "Accept-Language": "en-us,en;q=0.5",
943
+ "Sec-Fetch-Mode": "navigate"
944
+ },
945
+ "video_ext": "mp4",
946
+ "audio_ext": "none",
947
+ "abr": 0,
948
+ "vbr": 1492.376,
949
+ "format": "137 - 1920x1080 (1080p)"
950
+ },
951
+ {
952
+ "format_id": "614",
953
+ "format_index": null,
954
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/614/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D48986705%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D248%3Blmt%3D1624964747858507/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRgIhAM1AUBbt6CS7bEhPrHp7TFS31b-mhiz6o40pCc-PTUieAiEAwkN1ajFQt94jS_aRI5Ef9EPS_Ket1GdUUQiy6_YRsRk%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRgIhAKFP2-NJnBReorLdP0xqfxZtwtyB9C4e26wYykoU3IVlAiEA_6CH2abpYSg6WtxuP2gi2_eWyRj3tKJUmWFxwQ1ooFc%3D/playlist/index.m3u8",
955
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
956
+ "tbr": 1980.849,
957
+ "ext": "mp4",
958
+ "fps": 24.0,
959
+ "protocol": "m3u8_native",
960
+ "preference": null,
961
+ "quality": 9,
962
+ "has_drm": false,
963
+ "width": 1920,
964
+ "height": 1080,
965
+ "vcodec": "vp09.00.40.08",
966
+ "acodec": "none",
967
+ "dynamic_range": "SDR",
968
+ "source_preference": -1,
969
+ "resolution": "1920x1080",
970
+ "aspect_ratio": 1.78,
971
+ "http_headers": {
972
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
973
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
974
+ "Accept-Language": "en-us,en;q=0.5",
975
+ "Sec-Fetch-Mode": "navigate"
976
+ },
977
+ "video_ext": "mp4",
978
+ "audio_ext": "none",
979
+ "abr": 0,
980
+ "vbr": 1980.849,
981
+ "format": "614 - 1920x1080"
982
+ }
983
+ ],
984
+ "thumbnails": [
985
+ {
986
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/3.jpg",
987
+ "preference": -37,
988
+ "id": "0"
989
+ },
990
+ {
991
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/3.webp",
992
+ "preference": -36,
993
+ "id": "1"
994
+ },
995
+ {
996
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/2.jpg",
997
+ "preference": -35,
998
+ "id": "2"
999
+ },
1000
+ {
1001
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/2.webp",
1002
+ "preference": -34,
1003
+ "id": "3"
1004
+ },
1005
+ {
1006
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/1.jpg",
1007
+ "preference": -33,
1008
+ "id": "4"
1009
+ },
1010
+ {
1011
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/1.webp",
1012
+ "preference": -32,
1013
+ "id": "5"
1014
+ },
1015
+ {
1016
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/mq3.jpg",
1017
+ "preference": -31,
1018
+ "id": "6"
1019
+ },
1020
+ {
1021
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/mq3.webp",
1022
+ "preference": -30,
1023
+ "id": "7"
1024
+ },
1025
+ {
1026
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/mq2.jpg",
1027
+ "preference": -29,
1028
+ "id": "8"
1029
+ },
1030
+ {
1031
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/mq2.webp",
1032
+ "preference": -28,
1033
+ "id": "9"
1034
+ },
1035
+ {
1036
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/mq1.jpg",
1037
+ "preference": -27,
1038
+ "id": "10"
1039
+ },
1040
+ {
1041
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/mq1.webp",
1042
+ "preference": -26,
1043
+ "id": "11"
1044
+ },
1045
+ {
1046
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hq3.jpg",
1047
+ "preference": -25,
1048
+ "id": "12"
1049
+ },
1050
+ {
1051
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/hq3.webp",
1052
+ "preference": -24,
1053
+ "id": "13"
1054
+ },
1055
+ {
1056
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hq2.jpg",
1057
+ "preference": -23,
1058
+ "id": "14"
1059
+ },
1060
+ {
1061
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/hq2.webp",
1062
+ "preference": -22,
1063
+ "id": "15"
1064
+ },
1065
+ {
1066
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hq1.jpg",
1067
+ "preference": -21,
1068
+ "id": "16"
1069
+ },
1070
+ {
1071
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/hq1.webp",
1072
+ "preference": -20,
1073
+ "id": "17"
1074
+ },
1075
+ {
1076
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/sd3.jpg",
1077
+ "preference": -19,
1078
+ "id": "18"
1079
+ },
1080
+ {
1081
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/sd3.webp",
1082
+ "preference": -18,
1083
+ "id": "19"
1084
+ },
1085
+ {
1086
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/sd2.jpg",
1087
+ "preference": -17,
1088
+ "id": "20"
1089
+ },
1090
+ {
1091
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/sd2.webp",
1092
+ "preference": -16,
1093
+ "id": "21"
1094
+ },
1095
+ {
1096
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/sd1.jpg",
1097
+ "preference": -15,
1098
+ "id": "22"
1099
+ },
1100
+ {
1101
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/sd1.webp",
1102
+ "preference": -14,
1103
+ "id": "23"
1104
+ },
1105
+ {
1106
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/default.jpg",
1107
+ "preference": -13,
1108
+ "id": "24"
1109
+ },
1110
+ {
1111
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/default.webp",
1112
+ "preference": -12,
1113
+ "id": "25"
1114
+ },
1115
+ {
1116
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/mqdefault.jpg",
1117
+ "preference": -11,
1118
+ "id": "26"
1119
+ },
1120
+ {
1121
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/mqdefault.webp",
1122
+ "preference": -10,
1123
+ "id": "27"
1124
+ },
1125
+ {
1126
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/0.jpg",
1127
+ "preference": -9,
1128
+ "id": "28"
1129
+ },
1130
+ {
1131
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/0.webp",
1132
+ "preference": -8,
1133
+ "id": "29"
1134
+ },
1135
+ {
1136
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLBbZf0F56gyB0vJPsPZvldVQ_GZ4A",
1137
+ "height": 94,
1138
+ "width": 168,
1139
+ "preference": -7,
1140
+ "id": "30",
1141
+ "resolution": "168x94"
1142
+ },
1143
+ {
1144
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hqdefault.jpg?sqp=-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLDlvMi9-VVQXGDjGRaj5HLNzvCvDA",
1145
+ "height": 110,
1146
+ "width": 196,
1147
+ "preference": -7,
1148
+ "id": "31",
1149
+ "resolution": "196x110"
1150
+ },
1151
+ {
1152
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBgXhLMeo-fb3_zqqfhXU_QD6fu2Q",
1153
+ "height": 138,
1154
+ "width": 246,
1155
+ "preference": -7,
1156
+ "id": "32",
1157
+ "resolution": "246x138"
1158
+ },
1159
+ {
1160
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAaKgfi2FXmi62Tu53V4jE7-FSIZQ",
1161
+ "height": 188,
1162
+ "width": 336,
1163
+ "preference": -7,
1164
+ "id": "33",
1165
+ "resolution": "336x188"
1166
+ },
1167
+ {
1168
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hqdefault.jpg",
1169
+ "height": 360,
1170
+ "width": 480,
1171
+ "preference": -7,
1172
+ "id": "34",
1173
+ "resolution": "480x360"
1174
+ },
1175
+ {
1176
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/hqdefault.webp",
1177
+ "preference": -6,
1178
+ "id": "35"
1179
+ },
1180
+ {
1181
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/sddefault.jpg",
1182
+ "height": 480,
1183
+ "width": 640,
1184
+ "preference": -5,
1185
+ "id": "36",
1186
+ "resolution": "640x480"
1187
+ },
1188
+ {
1189
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/sddefault.webp",
1190
+ "preference": -4,
1191
+ "id": "37"
1192
+ },
1193
+ {
1194
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/hq720.jpg",
1195
+ "preference": -3,
1196
+ "id": "38"
1197
+ },
1198
+ {
1199
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/hq720.webp",
1200
+ "preference": -2,
1201
+ "id": "39"
1202
+ },
1203
+ {
1204
+ "url": "https://i.ytimg.com/vi/GgMtk3qhP-k/maxresdefault.jpg",
1205
+ "height": 1080,
1206
+ "width": 1920,
1207
+ "preference": -1,
1208
+ "id": "40",
1209
+ "resolution": "1920x1080"
1210
+ },
1211
+ {
1212
+ "url": "https://i.ytimg.com/vi_webp/GgMtk3qhP-k/maxresdefault.webp",
1213
+ "preference": 0,
1214
+ "id": "41"
1215
+ }
1216
+ ],
1217
+ "thumbnail": "https://i.ytimg.com/vi/GgMtk3qhP-k/maxresdefault.jpg",
1218
+ "description": "\u8449\u52a0\u702c\u592a\u90ce\u3055\u3093\u306e\u547c\u3073\u304b\u3051\u3092\u304d\u3063\u304b\u3051\u306b\u5b9f\u73fe\u3057\u305f\u3001ANA Team HND Orchestra(\u7fbd\u7530\u30aa\u30fc\u30b1\u30b9\u30c8\u30e9)\u3068\u306e\u30b3\u30e9\u30dc\u30ec\u30fc\u30b7\u30e7\u30f3\u6f14\u594f\u2018Another Sky\u2018\u306e\u9ad8\u97f3\u8cea\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u304a\u5c4a\u3051\u3057\u307e\u3059\u3002\n\n\u8a18\u5ff5\u3059\u3079\u304dBlue Sky News\u306e\u7b2c\u4e00\u5f3e\u52d5\u753b\u300cAnother Sky \u30fc TARO HAKASE &ANA Team HND Orchestra\u300d\u306f\u3053\u3061\u3089\u304b\u3089\u2193\u2193\n\nhttps://www.youtube.com/watch?v=H6aq4Z2-AXw\n\n\u3044\u3064\u3082ANA\u3092\u3054\u5229\u7528\u3044\u305f\u3060\u3044\u3066\u3044\u308b\u7686\u69d8\u306b\u3088\u308a\u97f3\u8cea\u306e\u826f\u3044\u97f3\u697d\u3092\u5c4a\u3051\u3001\u5c11\u3057\u3067\u3082\u5143\u6c17\u306b\u306a\u3063\u3066\u3082\u3089\u3044\u305f\u3044\u3068\u3044\u3046\u601d\u3044\u304b\u3089\u3001\u3053\u306e\u9ad8\u97f3\u8cea\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u6295\u7a3f\u304c\u6c7a\u5b9a\u3044\u305f\u3057\u307e\u3057\u305f\u3002\n\n\u2708\ufe0e\u2708\ufe0e\u2708\ufe0e\u4e16\u754c\u4e2d\u3044\u3064\u3069\u3053\u306b\u3044\u3066\u3082\u7a7a\u306f\u9055\u3046\u8868\u60c5\u3092\u898b\u305b\u3066\u304f\u308c\u308b\u3002\u3067\u3082\u3053\u306e\u7a7a\u306f\u7e4b\u304c\u3063\u3066\u3044\u308b\u3002\u4eca\u50d5\u304c\u898b\u3066\u308b\u7a7a\u3068\u5f7c\u5973\u304c\u898b\u3066\u308b\u7a7a\u306f\u9055\u3046\u3051\u3069\u5b9f\u306f\u540c\u3058\u4e00\u3064\u306e\u7a7a\u2708\ufe0e\u2708\ufe0e\u2708\ufe0e\n\nAnother Sky\u3068\u3044\u3046\u30bf\u30a4\u30c8\u30eb\u306b\u306f\u305d\u3093\u306a\u60f3\u3044\u304c\u8fbc\u3081\u3089\u308c\u3066\u3044\u307e\u3059\u3002\n\u307f\u306a\u3055\u307e\u3068\u79c1\u305f\u3061\u3092\u7e4b\u3052\u3066\u304f\u308c\u308bAnother Sky\u3092\u305c\u3072\u304a\u697d\u3057\u307f\u304f\u3060\u3055\u3044\u3002\n \n\u266aANA Team HND Orchestra\u306f\u3001\u30d1\u30a4\u30ed\u30c3\u30c8\u3084\u6574\u5099\u58eb\u3001\u30ad\u30e3\u30d3\u30f3\u30a2\u30c6\u30f3\u30c0\u30f3\u30c8\u306a\u3069\u7fbd\u7530\u3067\u50cd\u304fANA\u30b0\u30eb\u30fc\u30d7\u306e\u793e\u54e1\u304c\u97f3\u697d\u3067\u7e4b\u304c\u3063\u305f\u30aa\u30fc\u30b1\u30b9\u30c8\u30e9\u30d0\u30f3\u30c9\u3067\u3059\u3002\n2011\u5e74\u3001\u6771\u65e5\u672c\u5927\u9707\u707d\u304b\u3089\u306e\u5fa9\u8208\u3092\u9858\u3063\u3066\u7d50\u6210\u3055\u308c\u3001\u4eca\u5e74\u306710\u5468\u5e74\u3092\u8fce\u3048\u307e\u3057\u305f\u3002\n\n#\u8449\u52a0\u702c\u592a\u90ce #ANA #ANATeamHNDOrchestra\u200b #anothersky",
1219
+ "channel_id": "UC3GqXsYKXcrDiiwqoAKA-Yw",
1220
+ "channel_url": "https://www.youtube.com/channel/UC3GqXsYKXcrDiiwqoAKA-Yw",
1221
+ "duration": 341,
1222
+ "view_count": 1399818,
1223
+ "average_rating": null,
1224
+ "age_limit": 0,
1225
+ "webpage_url": "https://www.youtube.com/watch?v=GgMtk3qhP-k",
1226
+ "categories": [
1227
+ "Entertainment"
1228
+ ],
1229
+ "tags": [
1230
+ "ANA",
1231
+ "\u5168\u65e5\u7a7a",
1232
+ "\u8449\u52a0\u702c",
1233
+ "hakase",
1234
+ "\u8449\u52a0\u702c\u592a\u90ce",
1235
+ "another sky",
1236
+ "\u98db\u884c\u6a5f",
1237
+ "\u683c\u7d0d\u5eab",
1238
+ "HONU",
1239
+ "\u7fbd\u7530\u30aa\u30fc\u30b1\u30b9\u30c8\u30e9"
1240
+ ],
1241
+ "playable_in_embed": true,
1242
+ "live_status": "not_live",
1243
+ "release_timestamp": null,
1244
+ "_format_sort_fields": [
1245
+ "quality",
1246
+ "res",
1247
+ "fps",
1248
+ "hdr:12",
1249
+ "source",
1250
+ "vcodec:vp9.2",
1251
+ "channels",
1252
+ "acodec",
1253
+ "lang",
1254
+ "proto"
1255
+ ],
1256
+ "automatic_captions": {},
1257
+ "subtitles": {},
1258
+ "comment_count": null,
1259
+ "chapters": null,
1260
+ "heatmap": [
1261
+ {
1262
+ "start_time": 0.0,
1263
+ "end_time": 3.41,
1264
+ "value": 1.0
1265
+ },
1266
+ {
1267
+ "start_time": 3.41,
1268
+ "end_time": 6.82,
1269
+ "value": 0.0
1270
+ },
1271
+ {
1272
+ "start_time": 6.82,
1273
+ "end_time": 10.23,
1274
+ "value": 0.040479171263161653
1275
+ },
1276
+ {
1277
+ "start_time": 10.23,
1278
+ "end_time": 13.64,
1279
+ "value": 0.14123804600835219
1280
+ },
1281
+ {
1282
+ "start_time": 13.64,
1283
+ "end_time": 17.05,
1284
+ "value": 0.265936413851128
1285
+ },
1286
+ {
1287
+ "start_time": 17.05,
1288
+ "end_time": 20.46,
1289
+ "value": 0.35230156054977846
1290
+ },
1291
+ {
1292
+ "start_time": 20.46,
1293
+ "end_time": 23.87,
1294
+ "value": 0.3879686356861957
1295
+ },
1296
+ {
1297
+ "start_time": 23.87,
1298
+ "end_time": 27.28,
1299
+ "value": 0.3795942270001494
1300
+ },
1301
+ {
1302
+ "start_time": 27.28,
1303
+ "end_time": 30.69,
1304
+ "value": 0.37777486745360767
1305
+ },
1306
+ {
1307
+ "start_time": 30.69,
1308
+ "end_time": 34.1,
1309
+ "value": 0.39202752756918235
1310
+ },
1311
+ {
1312
+ "start_time": 34.1,
1313
+ "end_time": 37.51,
1314
+ "value": 0.3974056635048675
1315
+ },
1316
+ {
1317
+ "start_time": 37.51,
1318
+ "end_time": 40.92,
1319
+ "value": 0.4172145309819654
1320
+ },
1321
+ {
1322
+ "start_time": 40.92,
1323
+ "end_time": 44.33,
1324
+ "value": 0.46221722162858064
1325
+ },
1326
+ {
1327
+ "start_time": 44.33,
1328
+ "end_time": 47.74,
1329
+ "value": 0.49574529269448714
1330
+ },
1331
+ {
1332
+ "start_time": 47.74,
1333
+ "end_time": 51.15,
1334
+ "value": 0.5236820472808683
1335
+ },
1336
+ {
1337
+ "start_time": 51.15,
1338
+ "end_time": 54.56,
1339
+ "value": 0.5851560922339263
1340
+ },
1341
+ {
1342
+ "start_time": 54.56,
1343
+ "end_time": 57.97,
1344
+ "value": 0.5522923159906499
1345
+ },
1346
+ {
1347
+ "start_time": 57.97,
1348
+ "end_time": 61.38,
1349
+ "value": 0.5134702193221137
1350
+ },
1351
+ {
1352
+ "start_time": 61.38,
1353
+ "end_time": 64.79,
1354
+ "value": 0.49605458129156343
1355
+ },
1356
+ {
1357
+ "start_time": 64.79,
1358
+ "end_time": 68.2,
1359
+ "value": 0.48354803148353326
1360
+ },
1361
+ {
1362
+ "start_time": 68.2,
1363
+ "end_time": 71.61,
1364
+ "value": 0.48108079504724005
1365
+ },
1366
+ {
1367
+ "start_time": 71.61,
1368
+ "end_time": 75.02,
1369
+ "value": 0.47751039981329024
1370
+ },
1371
+ {
1372
+ "start_time": 75.02,
1373
+ "end_time": 78.43,
1374
+ "value": 0.48207584807148013
1375
+ },
1376
+ {
1377
+ "start_time": 78.43,
1378
+ "end_time": 81.84,
1379
+ "value": 0.49593574071588
1380
+ },
1381
+ {
1382
+ "start_time": 81.84,
1383
+ "end_time": 85.25,
1384
+ "value": 0.5072461809678018
1385
+ },
1386
+ {
1387
+ "start_time": 85.25,
1388
+ "end_time": 88.66,
1389
+ "value": 0.5326674556535846
1390
+ },
1391
+ {
1392
+ "start_time": 88.66,
1393
+ "end_time": 92.07,
1394
+ "value": 0.5421611884865836
1395
+ },
1396
+ {
1397
+ "start_time": 92.07,
1398
+ "end_time": 95.48,
1399
+ "value": 0.530815765408451
1400
+ },
1401
+ {
1402
+ "start_time": 95.48,
1403
+ "end_time": 98.89,
1404
+ "value": 0.5327354006373441
1405
+ },
1406
+ {
1407
+ "start_time": 98.89,
1408
+ "end_time": 102.3,
1409
+ "value": 0.5334551375563877
1410
+ },
1411
+ {
1412
+ "start_time": 102.3,
1413
+ "end_time": 105.71,
1414
+ "value": 0.5376000341493004
1415
+ },
1416
+ {
1417
+ "start_time": 105.71,
1418
+ "end_time": 109.12,
1419
+ "value": 0.5503896038618009
1420
+ },
1421
+ {
1422
+ "start_time": 109.12,
1423
+ "end_time": 112.53,
1424
+ "value": 0.5665363882644111
1425
+ },
1426
+ {
1427
+ "start_time": 112.53,
1428
+ "end_time": 115.94,
1429
+ "value": 0.5687261616350544
1430
+ },
1431
+ {
1432
+ "start_time": 115.94,
1433
+ "end_time": 119.35,
1434
+ "value": 0.5673241964590054
1435
+ },
1436
+ {
1437
+ "start_time": 119.35,
1438
+ "end_time": 122.76,
1439
+ "value": 0.5692234987094873
1440
+ },
1441
+ {
1442
+ "start_time": 122.76,
1443
+ "end_time": 126.17,
1444
+ "value": 0.5691462081331661
1445
+ },
1446
+ {
1447
+ "start_time": 126.17,
1448
+ "end_time": 129.58,
1449
+ "value": 0.5692139005333429
1450
+ },
1451
+ {
1452
+ "start_time": 129.58,
1453
+ "end_time": 132.99,
1454
+ "value": 0.5736223680948542
1455
+ },
1456
+ {
1457
+ "start_time": 132.99,
1458
+ "end_time": 136.4,
1459
+ "value": 0.578873580780208
1460
+ },
1461
+ {
1462
+ "start_time": 136.4,
1463
+ "end_time": 139.81,
1464
+ "value": 0.5845280431554206
1465
+ },
1466
+ {
1467
+ "start_time": 139.81,
1468
+ "end_time": 143.22,
1469
+ "value": 0.5919325308837103
1470
+ },
1471
+ {
1472
+ "start_time": 143.22,
1473
+ "end_time": 146.63,
1474
+ "value": 0.5991834477936887
1475
+ },
1476
+ {
1477
+ "start_time": 146.63,
1478
+ "end_time": 150.04,
1479
+ "value": 0.6161512551320248
1480
+ },
1481
+ {
1482
+ "start_time": 150.04,
1483
+ "end_time": 153.45,
1484
+ "value": 0.637178459520513
1485
+ },
1486
+ {
1487
+ "start_time": 153.45,
1488
+ "end_time": 156.86,
1489
+ "value": 0.6533393886037571
1490
+ },
1491
+ {
1492
+ "start_time": 156.86,
1493
+ "end_time": 160.27,
1494
+ "value": 0.6783630967302929
1495
+ },
1496
+ {
1497
+ "start_time": 160.27,
1498
+ "end_time": 163.68,
1499
+ "value": 0.692914310640677
1500
+ },
1501
+ {
1502
+ "start_time": 163.68,
1503
+ "end_time": 167.09,
1504
+ "value": 0.7027143010677592
1505
+ },
1506
+ {
1507
+ "start_time": 167.09,
1508
+ "end_time": 170.5,
1509
+ "value": 0.7255556870393428
1510
+ },
1511
+ {
1512
+ "start_time": 170.5,
1513
+ "end_time": 173.91,
1514
+ "value": 0.7352924052789463
1515
+ },
1516
+ {
1517
+ "start_time": 173.91,
1518
+ "end_time": 177.32,
1519
+ "value": 0.7372490440027123
1520
+ },
1521
+ {
1522
+ "start_time": 177.32,
1523
+ "end_time": 180.73,
1524
+ "value": 0.7425378916418955
1525
+ },
1526
+ {
1527
+ "start_time": 180.73,
1528
+ "end_time": 184.14,
1529
+ "value": 0.7545150262604836
1530
+ },
1531
+ {
1532
+ "start_time": 184.14,
1533
+ "end_time": 187.55,
1534
+ "value": 0.7624183665647029
1535
+ },
1536
+ {
1537
+ "start_time": 187.55,
1538
+ "end_time": 190.96,
1539
+ "value": 0.7898265900041815
1540
+ },
1541
+ {
1542
+ "start_time": 190.96,
1543
+ "end_time": 194.37,
1544
+ "value": 0.8134455545352582
1545
+ },
1546
+ {
1547
+ "start_time": 194.37,
1548
+ "end_time": 197.78,
1549
+ "value": 0.8112388580645707
1550
+ },
1551
+ {
1552
+ "start_time": 197.78,
1553
+ "end_time": 201.19,
1554
+ "value": 0.8094534710099087
1555
+ },
1556
+ {
1557
+ "start_time": 201.19,
1558
+ "end_time": 204.6,
1559
+ "value": 0.804590352999449
1560
+ },
1561
+ {
1562
+ "start_time": 204.6,
1563
+ "end_time": 208.01,
1564
+ "value": 0.8001251804236105
1565
+ },
1566
+ {
1567
+ "start_time": 208.01,
1568
+ "end_time": 211.42,
1569
+ "value": 0.8005786942464365
1570
+ },
1571
+ {
1572
+ "start_time": 211.42,
1573
+ "end_time": 214.83,
1574
+ "value": 0.798637336829427
1575
+ },
1576
+ {
1577
+ "start_time": 214.83,
1578
+ "end_time": 218.24,
1579
+ "value": 0.788351249297344
1580
+ },
1581
+ {
1582
+ "start_time": 218.24,
1583
+ "end_time": 221.65,
1584
+ "value": 0.7834107144187717
1585
+ },
1586
+ {
1587
+ "start_time": 221.65,
1588
+ "end_time": 225.06,
1589
+ "value": 0.768837020569523
1590
+ },
1591
+ {
1592
+ "start_time": 225.06,
1593
+ "end_time": 228.47,
1594
+ "value": 0.758273722555373
1595
+ },
1596
+ {
1597
+ "start_time": 228.47,
1598
+ "end_time": 231.88,
1599
+ "value": 0.7566249832189782
1600
+ },
1601
+ {
1602
+ "start_time": 231.88,
1603
+ "end_time": 235.29,
1604
+ "value": 0.7406608167466957
1605
+ },
1606
+ {
1607
+ "start_time": 235.29,
1608
+ "end_time": 238.7,
1609
+ "value": 0.7400912407675965
1610
+ },
1611
+ {
1612
+ "start_time": 238.7,
1613
+ "end_time": 242.11,
1614
+ "value": 0.7366386757749991
1615
+ },
1616
+ {
1617
+ "start_time": 242.11,
1618
+ "end_time": 245.52,
1619
+ "value": 0.7290029477767025
1620
+ },
1621
+ {
1622
+ "start_time": 245.52,
1623
+ "end_time": 248.93,
1624
+ "value": 0.7440196732300932
1625
+ },
1626
+ {
1627
+ "start_time": 248.93,
1628
+ "end_time": 252.34,
1629
+ "value": 0.7529904317550101
1630
+ },
1631
+ {
1632
+ "start_time": 252.34,
1633
+ "end_time": 255.75,
1634
+ "value": 0.7801557960796754
1635
+ },
1636
+ {
1637
+ "start_time": 255.75,
1638
+ "end_time": 259.16,
1639
+ "value": 0.7725383803911282
1640
+ },
1641
+ {
1642
+ "start_time": 259.16,
1643
+ "end_time": 262.57,
1644
+ "value": 0.7980042360792663
1645
+ },
1646
+ {
1647
+ "start_time": 262.57,
1648
+ "end_time": 265.98,
1649
+ "value": 0.8059709748627556
1650
+ },
1651
+ {
1652
+ "start_time": 265.98,
1653
+ "end_time": 269.39,
1654
+ "value": 0.7768421520575901
1655
+ },
1656
+ {
1657
+ "start_time": 269.39,
1658
+ "end_time": 272.8,
1659
+ "value": 0.7648832034569599
1660
+ },
1661
+ {
1662
+ "start_time": 272.8,
1663
+ "end_time": 276.21,
1664
+ "value": 0.7569501845817677
1665
+ },
1666
+ {
1667
+ "start_time": 276.21,
1668
+ "end_time": 279.62,
1669
+ "value": 0.7668898537301101
1670
+ },
1671
+ {
1672
+ "start_time": 279.62,
1673
+ "end_time": 283.03,
1674
+ "value": 0.7694137951807305
1675
+ },
1676
+ {
1677
+ "start_time": 283.03,
1678
+ "end_time": 286.44,
1679
+ "value": 0.7602985588464811
1680
+ },
1681
+ {
1682
+ "start_time": 286.44,
1683
+ "end_time": 289.85,
1684
+ "value": 0.7172795333669859
1685
+ },
1686
+ {
1687
+ "start_time": 289.85,
1688
+ "end_time": 293.26,
1689
+ "value": 0.6653761329478739
1690
+ },
1691
+ {
1692
+ "start_time": 293.26,
1693
+ "end_time": 296.67,
1694
+ "value": 0.639996281969662
1695
+ },
1696
+ {
1697
+ "start_time": 296.67,
1698
+ "end_time": 300.08,
1699
+ "value": 0.6182110742493437
1700
+ },
1701
+ {
1702
+ "start_time": 300.08,
1703
+ "end_time": 303.49,
1704
+ "value": 0.5873848897681043
1705
+ },
1706
+ {
1707
+ "start_time": 303.49,
1708
+ "end_time": 306.9,
1709
+ "value": 0.5597730839609298
1710
+ },
1711
+ {
1712
+ "start_time": 306.9,
1713
+ "end_time": 310.31,
1714
+ "value": 0.5463082320399496
1715
+ },
1716
+ {
1717
+ "start_time": 310.31,
1718
+ "end_time": 313.72,
1719
+ "value": 0.5253916592607055
1720
+ },
1721
+ {
1722
+ "start_time": 313.72,
1723
+ "end_time": 317.13,
1724
+ "value": 0.522404353227532
1725
+ },
1726
+ {
1727
+ "start_time": 317.13,
1728
+ "end_time": 320.54,
1729
+ "value": 0.5187770003956722
1730
+ },
1731
+ {
1732
+ "start_time": 320.54,
1733
+ "end_time": 323.95,
1734
+ "value": 0.4771161168406189
1735
+ },
1736
+ {
1737
+ "start_time": 323.95,
1738
+ "end_time": 327.36,
1739
+ "value": 0.4157029445310034
1740
+ },
1741
+ {
1742
+ "start_time": 327.36,
1743
+ "end_time": 330.77,
1744
+ "value": 0.3716792678511237
1745
+ },
1746
+ {
1747
+ "start_time": 330.77,
1748
+ "end_time": 334.18,
1749
+ "value": 0.34782426396196797
1750
+ },
1751
+ {
1752
+ "start_time": 334.18,
1753
+ "end_time": 337.59,
1754
+ "value": 0.3385841250460491
1755
+ },
1756
+ {
1757
+ "start_time": 337.59,
1758
+ "end_time": 341.0,
1759
+ "value": 0.3893631496465535
1760
+ }
1761
+ ],
1762
+ "like_count": 11202,
1763
+ "channel": "ANA\u516c\u5f0fYouTube ",
1764
+ "channel_follower_count": 272000,
1765
+ "uploader": "ANA\u516c\u5f0fYouTube ",
1766
+ "uploader_id": "@blueskynews7192",
1767
+ "uploader_url": "https://www.youtube.com/@blueskynews7192",
1768
+ "upload_date": "20210629",
1769
+ "timestamp": 1624960806,
1770
+ "availability": "public",
1771
+ "original_url": "https://youtu.be/GgMtk3qhP-k?si=YlaDBnMoO3SaUx3A",
1772
+ "webpage_url_basename": "watch",
1773
+ "webpage_url_domain": "youtube.com",
1774
+ "extractor": "youtube",
1775
+ "extractor_key": "Youtube",
1776
+ "playlist": null,
1777
+ "playlist_index": null,
1778
+ "display_id": "GgMtk3qhP-k",
1779
+ "fulltitle": "\u3010\u9ad8\u97f3\u8ceaver\u3011Another Sky \u30fc TARO HAKASE &ANA Team HND Orchestra",
1780
+ "duration_string": "5:41",
1781
+ "release_year": null,
1782
+ "is_live": false,
1783
+ "was_live": false,
1784
+ "requested_subtitles": null,
1785
+ "_has_drm": null,
1786
+ "epoch": 1729767236,
1787
+ "requested_formats": [
1788
+ {
1789
+ "format_id": "614",
1790
+ "format_index": null,
1791
+ "url": "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/itag/614/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/wft/1/sgovp/clen%3D48986705%3Bdur%3D340.840%3Bgir%3Dyes%3Bitag%3D248%3Blmt%3D1624964747858507/rqh/1/hls_chunk_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1729767235,/mh/rF/mm/31,29/mn/sn-oxfhxqp5w2-i3qe,sn-ajogu5-55/ms/au,rdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au,au/initcwndbps/1138750/vprv/1/playlist_type/DVR/dover/13/txp/5432434/mt/1729766724/fvip/1/short_key/1/keepalive/yes/fexp/51312688,51326932/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,wft,sgovp,rqh,xpc,vprv,playlist_type/sig/AJfQdSswRgIhAM1AUBbt6CS7bEhPrHp7TFS31b-mhiz6o40pCc-PTUieAiEAwkN1ajFQt94jS_aRI5Ef9EPS_Ket1GdUUQiy6_YRsRk%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pcm2cms,pl,rms,initcwndbps/lsig/ACJ0pHgwRgIhAKFP2-NJnBReorLdP0xqfxZtwtyB9C4e26wYykoU3IVlAiEA_6CH2abpYSg6WtxuP2gi2_eWyRj3tKJUmWFxwQ1ooFc%3D/playlist/index.m3u8",
1792
+ "manifest_url": "https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1729788835/ei/QycaZ9XSJfHKs8IP0pSouAI/ip/61.44.169.49/id/1a032d937aa13fe9/source/youtube/requiressl/yes/xpc/EgVo2aDSNQ%3D%3D/playback_host/rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/met/1729767235%2C/mh/rF/mm/31%2C29/mn/sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55/ms/au%2Crdu/mv/m/mvi/1/pcm2cms/yes/pl/19/rms/au%2Cau/hfr/1/demuxed/1/tts_caps/1/maudio/1/initcwndbps/1138750/vprv/1/go/1/rqh/5/mt/1729766724/fvip/1/nvgoi/1/short_key/1/ncsapi/1/keepalive/yes/fexp/51312688%2C51326932/dover/13/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cxpc%2Chfr%2Cdemuxed%2Ctts_caps%2Cmaudio%2Cvprv%2Cgo%2Crqh%2Citag%2Cplaylist_type/sig/AJfQdSswRAIgBelBVvKqymNIwUp0rf8Hcto8oeL9ChJ7qSWS8qjZ0KICIDDqWgQHxMSeZ_E5qLiWQiy973xC2m6ksxDN_xEneCsb/lsparams/playback_host%2Cmet%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps/lsig/ACJ0pHgwRgIhANCiDCiG5z-v9o9J6Kp2Piw1mN_29lvJv0VS38Givn_cAiEAlYjLRcY7kd0J8vLmRIWBTA7FEpwBsCVYqo-uTHLGzt8%3D/file/index.m3u8",
1793
+ "tbr": 1980.849,
1794
+ "ext": "mp4",
1795
+ "fps": 24.0,
1796
+ "protocol": "m3u8_native",
1797
+ "preference": null,
1798
+ "quality": 9,
1799
+ "has_drm": false,
1800
+ "width": 1920,
1801
+ "height": 1080,
1802
+ "vcodec": "vp09.00.40.08",
1803
+ "acodec": "none",
1804
+ "dynamic_range": "SDR",
1805
+ "source_preference": -1,
1806
+ "resolution": "1920x1080",
1807
+ "aspect_ratio": 1.78,
1808
+ "http_headers": {
1809
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
1810
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
1811
+ "Accept-Language": "en-us,en;q=0.5",
1812
+ "Sec-Fetch-Mode": "navigate"
1813
+ },
1814
+ "video_ext": "mp4",
1815
+ "audio_ext": "none",
1816
+ "abr": 0,
1817
+ "vbr": 1980.849,
1818
+ "format": "614 - 1920x1080"
1819
+ },
1820
+ {
1821
+ "asr": 44100,
1822
+ "filesize": 5517722,
1823
+ "format_id": "140",
1824
+ "format_note": "medium",
1825
+ "source_preference": -1,
1826
+ "fps": null,
1827
+ "audio_channels": 2,
1828
+ "height": null,
1829
+ "quality": 3.0,
1830
+ "has_drm": false,
1831
+ "tbr": 129.489,
1832
+ "filesize_approx": 5517720,
1833
+ "url": "https://rr1---sn-oxfhxqp5w2-i3qe.googlevideo.com/videoplayback?expire=1729788835&ei=QycaZ9XSJfHKs8IP0pSouAI&ip=61.44.169.49&id=o-AKPm52N-d7fNmObnH1f-G4U0tNVzMogf00d0QUOJIglh&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1729767235%2C&mh=rF&mm=31%2C29&mn=sn-oxfhxqp5w2-i3qe%2Csn-ajogu5-55&ms=au%2Crdu&mv=m&mvi=1&pcm2cms=yes&pl=19&rms=au%2Cau&initcwndbps=1138750&vprv=1&svpuc=1&mime=audio%2Fmp4&rqh=1&gir=yes&clen=5517722&dur=340.892&lmt=1624964155020857&mt=1729766724&fvip=1&keepalive=yes&fexp=51312688%2C51326932&c=IOS&txp=5432434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cvprv%2Csvpuc%2Cmime%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAOGmbDI2MiqUf1rePOxF_zmNYhz_GgqglvioR4HZErarAiEAvEfuUjAbt5zrbPuceRH_GeSDYefraL-fb5_d2wJtwX8%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=ACJ0pHgwRgIhANuz3lxs_vmqVpXcP3rInpXczpqFMoKp0KHASYZnt8Z_AiEA9t0HHroqjL-77_TQWDPYm0y-AwhZxZSwjDbqnp8aokI%3D",
1834
+ "width": null,
1835
+ "language": null,
1836
+ "language_preference": -1,
1837
+ "preference": null,
1838
+ "ext": "m4a",
1839
+ "vcodec": "none",
1840
+ "acodec": "mp4a.40.2",
1841
+ "dynamic_range": null,
1842
+ "container": "m4a_dash",
1843
+ "downloader_options": {
1844
+ "http_chunk_size": 10485760
1845
+ },
1846
+ "protocol": "https",
1847
+ "resolution": "audio only",
1848
+ "aspect_ratio": null,
1849
+ "http_headers": {
1850
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
1851
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
1852
+ "Accept-Language": "en-us,en;q=0.5",
1853
+ "Sec-Fetch-Mode": "navigate"
1854
+ },
1855
+ "audio_ext": "m4a",
1856
+ "video_ext": "none",
1857
+ "vbr": 0,
1858
+ "abr": 129.489,
1859
+ "format": "140 - audio only (medium)"
1860
+ }
1861
+ ],
1862
+ "format": "614 - 1920x1080+140 - audio only (medium)",
1863
+ "format_id": "614+140",
1864
+ "ext": "mp4",
1865
+ "protocol": "m3u8_native+https",
1866
+ "language": null,
1867
+ "format_note": "medium",
1868
+ "filesize_approx": 5517722,
1869
+ "tbr": 2110.3379999999997,
1870
+ "width": 1920,
1871
+ "height": 1080,
1872
+ "resolution": "1920x1080",
1873
+ "fps": 24.0,
1874
+ "dynamic_range": "SDR",
1875
+ "vcodec": "vp09.00.40.08",
1876
+ "vbr": 1980.849,
1877
+ "stretched_ratio": null,
1878
+ "aspect_ratio": 1.78,
1879
+ "acodec": "mp4a.40.2",
1880
+ "abr": 129.489,
1881
+ "asr": 44100,
1882
+ "audio_channels": 2
1883
+ }
lab_tools/analyze1f.py CHANGED
@@ -2,58 +2,109 @@ import numpy as np
2
  import matplotlib.pyplot as plt
3
  from pydub import AudioSegment
4
  from scipy.fftpack import fft
5
- import yt_dlp
6
  import os
7
  import tempfile
 
 
 
8
 
 
9
 
10
- def download_youtube(youtube_url: str) -> str:
11
- ydl_opts = {
12
- 'postprocessors': [
13
- {
14
- 'key': 'FFmpegExtractAudio',
15
- 'preferredcodec': 'mp3',
16
- 'preferredquality': '128',
17
- }
18
- ],
19
- 'outtmpl': '%(title)s.%(ext)s'
20
- }
21
 
22
- with yt_dlp.YoutubeDL(ydl_opts) as ydl:
23
- info_dict = ydl.extract_info(youtube_url, download=True)
24
- file_path = ydl.prepare_filename(info_dict)
25
- filename, _ = os.path.splitext(file_path)
26
- filename += ".mp3"
27
- print(f"Downloaded file path: {filename}")
28
 
29
- return filename
 
 
 
 
 
30
 
 
31
 
32
- def analyze_1f_noise(youtube_url: str):
33
- filename = download_youtube(youtube_url)
34
- audio = AudioSegment.from_mp3(filename)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  os.remove(filename)
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  data = np.array(audio.get_array_of_samples())
37
  sample_rate = audio.frame_rate
38
 
 
39
  if audio.channels > 1:
40
  data = data.reshape((-1, audio.channels)).mean(axis=1)
41
 
 
 
 
 
 
42
  N = len(data)
43
  T = 1.0 / sample_rate
44
  yf = fft(data)
45
- xf = np.fft.fftfreq(N, T)[:N//2]
 
 
 
 
 
 
 
 
46
 
47
- power_spectrum = 2.0/N * np.abs(yf[:N//2])
 
 
 
 
48
 
49
- xf_log = xf[1:]
50
- power_spectrum_log = power_spectrum[1:]
51
 
 
 
 
52
  graphfile_path = tempfile.NamedTemporaryFile(delete=False, suffix='.png').name
53
 
54
  # グラフの描画
55
  plt.figure(figsize=(10, 6))
56
- plt.plot(xf_log, power_spectrum_log)
 
57
  plt.xscale('log')
58
  plt.yscale('log')
59
 
@@ -62,8 +113,32 @@ def analyze_1f_noise(youtube_url: str):
62
  plt.ylabel('Power')
63
  plt.grid(True, which="both", ls="--")
64
  plt.xlim([1, sample_rate // 2])
 
65
  plt.savefig(graphfile_path)
66
 
67
- filename, _ = os.path.splitext(filename)
 
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  return filename, graphfile_path
 
2
  import matplotlib.pyplot as plt
3
  from pydub import AudioSegment
4
  from scipy.fftpack import fft
 
5
  import os
6
  import tempfile
7
+ from sklearn.linear_model import LinearRegression
8
+ from pydub.exceptions import CouldntDecodeError
9
+ import subprocess
10
 
11
+ from lab_tools import ytutil
12
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
+ # YouTubeから音声をダウンロードし、指定範囲の音声データを返す
15
+ def download_and_process_audio(youtube_url: str, start_time: float, end_time: float = None):
16
+ filename = ytutil.download_youtube(youtube_url)
17
+ audio = AudioSegment.from_mp3(filename)
18
+ os.remove(filename)
 
19
 
20
+ # 時間範囲をミリ秒単位に変換
21
+ if end_time is None:
22
+ end_time = len(audio) / 1000.0 # 音声の長さを秒単位で取得
23
+ start_ms = start_time * 1000
24
+ end_ms = end_time * 1000
25
+ audio = audio[start_ms:end_ms]
26
 
27
+ return audio, filename
28
 
29
+
30
+ def convert_to_mp3(input_file: str, output_file: str):
31
+ try:
32
+ subprocess.run(
33
+ ["ffmpeg", "-i", input_file, "-q:a", "0", "-map", "a", output_file],
34
+ check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE
35
+ )
36
+ except subprocess.CalledProcessError as e:
37
+ raise RuntimeError(f"ffmpegによるMP3変換に失敗しました: {e.stderr.decode()}")
38
+
39
+
40
+ def process_audio(filename: str, start_time: float, end_time: float = None):
41
+ mp3_filename = filename.rsplit('.', 1)[0] + ".mp3"
42
+
43
+ if not filename.endswith(".mp3"):
44
+ convert_to_mp3(filename, mp3_filename)
45
+ filename = mp3_filename
46
+
47
+ try:
48
+ audio = AudioSegment.from_mp3(filename)
49
+ except CouldntDecodeError:
50
+ raise ValueError(f"MP3ファイル {filename} のデコードに失敗しました。ファイルが破損している可能性があります。")
51
+
52
  os.remove(filename)
53
+
54
+ # 時間範囲をミリ秒単位に変換
55
+ if end_time is None:
56
+ end_time = len(audio) / 1000.0 # 音声の長さを秒単位で取得
57
+ start_ms = start_time * 1000
58
+ end_ms = end_time * 1000
59
+ audio = audio[start_ms:end_ms]
60
+
61
+ return audio, mp3_filename # 変換後のファイル名を返す
62
+
63
+
64
+ # 音声データをモノラルに変換して、NumPy配列とサンプリングレートを返す
65
+ def convert_audio_to_numpy(audio: AudioSegment):
66
  data = np.array(audio.get_array_of_samples())
67
  sample_rate = audio.frame_rate
68
 
69
+ # ステレオ音声の場合はモノラルに変換
70
  if audio.channels > 1:
71
  data = data.reshape((-1, audio.channels)).mean(axis=1)
72
 
73
+ return data, sample_rate
74
+
75
+
76
+ # パワースペクトルを計算
77
+ def compute_power_spectrum(data: np.ndarray, sample_rate: int):
78
  N = len(data)
79
  T = 1.0 / sample_rate
80
  yf = fft(data)
81
+ xf = np.fft.fftfreq(N, T)[:N // 2]
82
+ power_spectrum = 2.0 / N * np.abs(yf[:N // 2])
83
+
84
+ # 対数スケールに変換
85
+ xf_log = np.log10(xf[1:])
86
+ power_spectrum_log = np.log10(power_spectrum[1:])
87
+
88
+ return xf_log, power_spectrum_log
89
+
90
 
91
+ # 線形回帰によるパワースペクトルの近似
92
+ def perform_linear_regression(xf_log: np.ndarray, power_spectrum_log: np.ndarray):
93
+ xf_log_reshaped = xf_log.reshape(-1, 1)
94
+ reg = LinearRegression().fit(xf_log_reshaped, power_spectrum_log)
95
+ power_spectrum_pred = reg.predict(xf_log_reshaped)
96
 
97
+ return power_spectrum_pred, reg
 
98
 
99
+
100
+ # パワースペクトルと線形近似のグラフを保存
101
+ def plot_and_save_spectrum(xf_log: np.ndarray, power_spectrum_log: np.ndarray, power_spectrum_pred: np.ndarray, sample_rate: int):
102
  graphfile_path = tempfile.NamedTemporaryFile(delete=False, suffix='.png').name
103
 
104
  # グラフの描画
105
  plt.figure(figsize=(10, 6))
106
+ plt.plot(10**xf_log, 10**power_spectrum_log, label='Power Spectrum')
107
+ plt.plot(10**xf_log, 10**power_spectrum_pred, color='red', linestyle='--', label='Linear Approximation')
108
  plt.xscale('log')
109
  plt.yscale('log')
110
 
 
113
  plt.ylabel('Power')
114
  plt.grid(True, which="both", ls="--")
115
  plt.xlim([1, sample_rate // 2])
116
+ plt.legend()
117
  plt.savefig(graphfile_path)
118
 
119
+ return graphfile_path
120
+
121
 
122
+ # メインの解析関数 Use YouTube
123
+ def analyze_1f_noise(mode: str, youtube_url: str, file_path: str, start_time: float = 0, end_time: float = None):
124
+ # 音声データの取得
125
+ if mode == "YouTube":
126
+ audio, filename = download_and_process_audio(youtube_url, start_time, end_time)
127
+ else:
128
+ audio, filename = process_audio(file_path, start_time, end_time)
129
+
130
+ # 音声データをNumPy配列に変換
131
+ data, sample_rate = convert_audio_to_numpy(audio)
132
+
133
+ # パワースペクトルを計算
134
+ xf_log, power_spectrum_log = compute_power_spectrum(data, sample_rate)
135
+
136
+ # 線形回帰を実行
137
+ power_spectrum_pred, _ = perform_linear_regression(xf_log, power_spectrum_log)
138
+
139
+ # グラフを描画して保存
140
+ graphfile_path = plot_and_save_spectrum(xf_log, power_spectrum_log, power_spectrum_pred, sample_rate)
141
+
142
+ # ファイル名を返す
143
+ filename, _ = os.path.splitext(filename)
144
  return filename, graphfile_path
lab_tools/ytutil.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import yt_dlp
2
+ import os
3
+ import glob
4
+
5
+
6
+ def download_youtube(youtube_url: str) -> str:
7
+ ydl_opts = {
8
+ 'postprocessors': [
9
+ {
10
+ 'key': 'FFmpegExtractAudio',
11
+ 'preferredcodec': 'mp3',
12
+ 'preferredquality': '128',
13
+ }
14
+ ],
15
+ 'outtmpl': '%(title)s.%(ext)s'
16
+ }
17
+
18
+ with yt_dlp.YoutubeDL(ydl_opts) as ydl:
19
+ info_dict = ydl.extract_info(youtube_url, download=True)
20
+ file_path = ydl.prepare_filename(info_dict)
21
+ filename, _ = os.path.splitext(file_path)
22
+ filename += ".mp3"
23
+ print(f"Downloaded file path: {filename}")
24
+
25
+ return filename
26
+
27
+
28
+ def download_youtube_video(youtube_url: str) -> str:
29
+ ydl_opts = {
30
+ 'outtmpl': '%(title)s.%(ext)s'
31
+ }
32
+
33
+ with yt_dlp.YoutubeDL(ydl_opts) as ydl:
34
+ info_dict = ydl.extract_info(youtube_url, download=True)
35
+ file_path = ydl.prepare_filename(info_dict)
36
+ print(f"Downloaded file path: {file_path}")
37
+
38
+ return file_path
39
+
40
+
41
+ def remove_mp4_file():
42
+ print("remove_mp4_file")
43
+ mp4_files = glob.glob(os.path.join("./", '*.mp4'))
44
+
45
+ for file in mp4_files:
46
+ try:
47
+ os.remove(file)
48
+ except Exception as e:
49
+ print(f"削除失敗: {file} - {e}")
50
+
51
+
52
+ def get_video_info(url):
53
+ ydl_opts = {
54
+ 'dump_single_json': True,
55
+ 'skip_download': True,
56
+ }
57
+
58
+ with yt_dlp.YoutubeDL(ydl_opts) as ydl:
59
+ info = ydl.extract_info(url, download=False)
60
+ return info
poetry.lock CHANGED
@@ -532,6 +532,17 @@ files = [
532
  docs = ["ipython", "matplotlib", "numpydoc", "sphinx"]
533
  tests = ["pytest", "pytest-cov", "pytest-xdist"]
534
 
 
 
 
 
 
 
 
 
 
 
 
535
  [[package]]
536
  name = "exceptiongroup"
537
  version = "1.2.2"
@@ -592,6 +603,22 @@ docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.
592
  testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"]
593
  typing = ["typing-extensions (>=4.12.2)"]
594
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
595
  [[package]]
596
  name = "fonttools"
597
  version = "4.54.1"
@@ -869,6 +896,57 @@ files = [
869
  [package.extras]
870
  all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"]
871
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
872
  [[package]]
873
  name = "importlib-resources"
874
  version = "6.4.5"
@@ -905,6 +983,17 @@ MarkupSafe = ">=2.0"
905
  [package.extras]
906
  i18n = ["Babel (>=2.7)"]
907
 
 
 
 
 
 
 
 
 
 
 
 
908
  [[package]]
909
  name = "kiwisolver"
910
  version = "1.4.7"
@@ -1188,6 +1277,17 @@ pillow = ">=6.2.0"
1188
  pyparsing = ">=2.3.1"
1189
  python-dateutil = ">=2.7"
1190
 
 
 
 
 
 
 
 
 
 
 
 
1191
  [[package]]
1192
  name = "mdurl"
1193
  version = "0.1.2"
@@ -1199,6 +1299,30 @@ files = [
1199
  {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
1200
  ]
1201
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1202
  [[package]]
1203
  name = "mutagen"
1204
  version = "1.47.0"
@@ -1487,6 +1611,31 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa
1487
  typing = ["typing-extensions"]
1488
  xmp = ["defusedxml"]
1489
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1490
  [[package]]
1491
  name = "pycparser"
1492
  version = "2.22"
@@ -1671,6 +1820,17 @@ files = [
1671
  {file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"},
1672
  ]
1673
 
 
 
 
 
 
 
 
 
 
 
 
1674
  [[package]]
1675
  name = "pygments"
1676
  version = "2.18.0"
@@ -1864,6 +2024,56 @@ files = [
1864
  {file = "ruff-0.6.9.tar.gz", hash = "sha256:b076ef717a8e5bc819514ee1d602bbdca5b4420ae13a9cf61a0c0a4f53a2baa2"},
1865
  ]
1866
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1867
  [[package]]
1868
  name = "scipy"
1869
  version = "1.14.0"
@@ -1921,6 +2131,26 @@ files = [
1921
  dev = ["Django (>=1.11)", "check-manifest", "colorama (<=0.4.1)", "coverage", "flake8", "nose2", "readme-renderer (<25.0)", "tox", "wheel", "zest.releaser[recommended]"]
1922
  doc = ["Sphinx", "sphinx-rtd-theme"]
1923
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1924
  [[package]]
1925
  name = "shellingham"
1926
  version = "1.5.4"
@@ -1971,6 +2201,17 @@ anyio = ">=3.4.0,<5"
1971
  [package.extras]
1972
  full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"]
1973
 
 
 
 
 
 
 
 
 
 
 
 
1974
  [[package]]
1975
  name = "tomlkit"
1976
  version = "0.12.0"
@@ -2192,4 +2433,4 @@ test = ["pytest (>=8.1,<9.0)"]
2192
  [metadata]
2193
  lock-version = "2.0"
2194
  python-versions = ">=3.10,<3.12"
2195
- content-hash = "2bb4e05993ac956f9ed0c7c5eb5ac3c87c4ceb9bfa3506347ca2e6a7a296b550"
 
532
  docs = ["ipython", "matplotlib", "numpydoc", "sphinx"]
533
  tests = ["pytest", "pytest-cov", "pytest-xdist"]
534
 
535
+ [[package]]
536
+ name = "decorator"
537
+ version = "4.4.2"
538
+ description = "Decorators for Humans"
539
+ optional = false
540
+ python-versions = ">=2.6, !=3.0.*, !=3.1.*"
541
+ files = [
542
+ {file = "decorator-4.4.2-py2.py3-none-any.whl", hash = "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760"},
543
+ {file = "decorator-4.4.2.tar.gz", hash = "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"},
544
+ ]
545
+
546
  [[package]]
547
  name = "exceptiongroup"
548
  version = "1.2.2"
 
603
  testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"]
604
  typing = ["typing-extensions (>=4.12.2)"]
605
 
606
+ [[package]]
607
+ name = "flake8"
608
+ version = "7.1.1"
609
+ description = "the modular source code checker: pep8 pyflakes and co"
610
+ optional = false
611
+ python-versions = ">=3.8.1"
612
+ files = [
613
+ {file = "flake8-7.1.1-py2.py3-none-any.whl", hash = "sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213"},
614
+ {file = "flake8-7.1.1.tar.gz", hash = "sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38"},
615
+ ]
616
+
617
+ [package.dependencies]
618
+ mccabe = ">=0.7.0,<0.8.0"
619
+ pycodestyle = ">=2.12.0,<2.13.0"
620
+ pyflakes = ">=3.2.0,<3.3.0"
621
+
622
  [[package]]
623
  name = "fonttools"
624
  version = "4.54.1"
 
896
  [package.extras]
897
  all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"]
898
 
899
+ [[package]]
900
+ name = "imageio"
901
+ version = "2.36.0"
902
+ description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats."
903
+ optional = false
904
+ python-versions = ">=3.9"
905
+ files = [
906
+ {file = "imageio-2.36.0-py3-none-any.whl", hash = "sha256:471f1eda55618ee44a3c9960911c35e647d9284c68f077e868df633398f137f0"},
907
+ {file = "imageio-2.36.0.tar.gz", hash = "sha256:1c8f294db862c256e9562354d65aa54725b8dafed7f10f02bb3ec20ec1678850"},
908
+ ]
909
+
910
+ [package.dependencies]
911
+ numpy = "*"
912
+ pillow = ">=8.3.2"
913
+
914
+ [package.extras]
915
+ all-plugins = ["astropy", "av", "imageio-ffmpeg", "numpy (>2)", "pillow-heif", "psutil", "rawpy", "tifffile"]
916
+ all-plugins-pypy = ["av", "imageio-ffmpeg", "pillow-heif", "psutil", "tifffile"]
917
+ build = ["wheel"]
918
+ dev = ["black", "flake8", "fsspec[github]", "pytest", "pytest-cov"]
919
+ docs = ["numpydoc", "pydata-sphinx-theme", "sphinx (<6)"]
920
+ ffmpeg = ["imageio-ffmpeg", "psutil"]
921
+ fits = ["astropy"]
922
+ full = ["astropy", "av", "black", "flake8", "fsspec[github]", "gdal", "imageio-ffmpeg", "itk", "numpy (>2)", "numpydoc", "pillow-heif", "psutil", "pydata-sphinx-theme", "pytest", "pytest-cov", "rawpy", "sphinx (<6)", "tifffile", "wheel"]
923
+ gdal = ["gdal"]
924
+ itk = ["itk"]
925
+ linting = ["black", "flake8"]
926
+ pillow-heif = ["pillow-heif"]
927
+ pyav = ["av"]
928
+ rawpy = ["numpy (>2)", "rawpy"]
929
+ test = ["fsspec[github]", "pytest", "pytest-cov"]
930
+ tifffile = ["tifffile"]
931
+
932
+ [[package]]
933
+ name = "imageio-ffmpeg"
934
+ version = "0.5.1"
935
+ description = "FFMPEG wrapper for Python"
936
+ optional = false
937
+ python-versions = ">=3.5"
938
+ files = [
939
+ {file = "imageio-ffmpeg-0.5.1.tar.gz", hash = "sha256:0ed7a9b31f560b0c9d929c5291cd430edeb9bed3ce9a497480e536dd4326484c"},
940
+ {file = "imageio_ffmpeg-0.5.1-py3-none-macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:1460e84712b9d06910c1f7bb524096b0341d4b7844cea6c20e099d0a24e795b1"},
941
+ {file = "imageio_ffmpeg-0.5.1-py3-none-manylinux2010_x86_64.whl", hash = "sha256:5289f75c7f755b499653f3209fea4efd1430cba0e39831c381aad2d458f7a316"},
942
+ {file = "imageio_ffmpeg-0.5.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7fa9132a291d5eb28c44553550deb40cbdab831f2a614e55360301a6582eb205"},
943
+ {file = "imageio_ffmpeg-0.5.1-py3-none-win32.whl", hash = "sha256:89efe2c79979d8174ba8476deb7f74d74c331caee3fb2b65ba2883bec0737625"},
944
+ {file = "imageio_ffmpeg-0.5.1-py3-none-win_amd64.whl", hash = "sha256:1521e79e253bedbdd36a547e0cbd94a025ba0b558e17f08fea687d805a0e4698"},
945
+ ]
946
+
947
+ [package.dependencies]
948
+ setuptools = "*"
949
+
950
  [[package]]
951
  name = "importlib-resources"
952
  version = "6.4.5"
 
983
  [package.extras]
984
  i18n = ["Babel (>=2.7)"]
985
 
986
+ [[package]]
987
+ name = "joblib"
988
+ version = "1.4.2"
989
+ description = "Lightweight pipelining with Python functions"
990
+ optional = false
991
+ python-versions = ">=3.8"
992
+ files = [
993
+ {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"},
994
+ {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"},
995
+ ]
996
+
997
  [[package]]
998
  name = "kiwisolver"
999
  version = "1.4.7"
 
1277
  pyparsing = ">=2.3.1"
1278
  python-dateutil = ">=2.7"
1279
 
1280
+ [[package]]
1281
+ name = "mccabe"
1282
+ version = "0.7.0"
1283
+ description = "McCabe checker, plugin for flake8"
1284
+ optional = false
1285
+ python-versions = ">=3.6"
1286
+ files = [
1287
+ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
1288
+ {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
1289
+ ]
1290
+
1291
  [[package]]
1292
  name = "mdurl"
1293
  version = "0.1.2"
 
1299
  {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
1300
  ]
1301
 
1302
+ [[package]]
1303
+ name = "moviepy"
1304
+ version = "1.0.3"
1305
+ description = "Video editing with Python"
1306
+ optional = false
1307
+ python-versions = "*"
1308
+ files = [
1309
+ {file = "moviepy-1.0.3.tar.gz", hash = "sha256:2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5"},
1310
+ ]
1311
+
1312
+ [package.dependencies]
1313
+ decorator = ">=4.0.2,<5.0"
1314
+ imageio = {version = ">=2.5,<3.0", markers = "python_version >= \"3.4\""}
1315
+ imageio_ffmpeg = {version = ">=0.2.0", markers = "python_version >= \"3.4\""}
1316
+ numpy = {version = ">=1.17.3", markers = "python_version > \"2.7\""}
1317
+ proglog = "<=1.0.0"
1318
+ requests = ">=2.8.1,<3.0"
1319
+ tqdm = ">=4.11.2,<5.0"
1320
+
1321
+ [package.extras]
1322
+ doc = ["Sphinx (>=1.5.2,<2.0)", "numpydoc (>=0.6.0,<1.0)", "pygame (>=1.9.3,<2.0)", "sphinx_rtd_theme (>=0.1.10b0,<1.0)"]
1323
+ optional = ["matplotlib (>=2.0.0,<3.0)", "opencv-python (>=3.0,<4.0)", "scikit-image (>=0.13.0,<1.0)", "scikit-learn", "scipy (>=0.19.0,<1.5)", "youtube_dl"]
1324
+ test = ["coverage (<5.0)", "coveralls (>=1.1,<2.0)", "pytest (>=3.0.0,<4.0)", "pytest-cov (>=2.5.1,<3.0)", "requests (>=2.8.1,<3.0)"]
1325
+
1326
  [[package]]
1327
  name = "mutagen"
1328
  version = "1.47.0"
 
1611
  typing = ["typing-extensions"]
1612
  xmp = ["defusedxml"]
1613
 
1614
+ [[package]]
1615
+ name = "proglog"
1616
+ version = "0.1.10"
1617
+ description = "Log and progress bar manager for console, notebooks, web..."
1618
+ optional = false
1619
+ python-versions = "*"
1620
+ files = [
1621
+ {file = "proglog-0.1.10-py3-none-any.whl", hash = "sha256:19d5da037e8c813da480b741e3fa71fb1ac0a5b02bf21c41577c7f327485ec50"},
1622
+ {file = "proglog-0.1.10.tar.gz", hash = "sha256:658c28c9c82e4caeb2f25f488fff9ceace22f8d69b15d0c1c86d64275e4ddab4"},
1623
+ ]
1624
+
1625
+ [package.dependencies]
1626
+ tqdm = "*"
1627
+
1628
+ [[package]]
1629
+ name = "pycodestyle"
1630
+ version = "2.12.1"
1631
+ description = "Python style guide checker"
1632
+ optional = false
1633
+ python-versions = ">=3.8"
1634
+ files = [
1635
+ {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"},
1636
+ {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"},
1637
+ ]
1638
+
1639
  [[package]]
1640
  name = "pycparser"
1641
  version = "2.22"
 
1820
  {file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"},
1821
  ]
1822
 
1823
+ [[package]]
1824
+ name = "pyflakes"
1825
+ version = "3.2.0"
1826
+ description = "passive checker of Python programs"
1827
+ optional = false
1828
+ python-versions = ">=3.8"
1829
+ files = [
1830
+ {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"},
1831
+ {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"},
1832
+ ]
1833
+
1834
  [[package]]
1835
  name = "pygments"
1836
  version = "2.18.0"
 
2024
  {file = "ruff-0.6.9.tar.gz", hash = "sha256:b076ef717a8e5bc819514ee1d602bbdca5b4420ae13a9cf61a0c0a4f53a2baa2"},
2025
  ]
2026
 
2027
+ [[package]]
2028
+ name = "scikit-learn"
2029
+ version = "1.5.2"
2030
+ description = "A set of python modules for machine learning and data mining"
2031
+ optional = false
2032
+ python-versions = ">=3.9"
2033
+ files = [
2034
+ {file = "scikit_learn-1.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:299406827fb9a4f862626d0fe6c122f5f87f8910b86fe5daa4c32dcd742139b6"},
2035
+ {file = "scikit_learn-1.5.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2d4cad1119c77930b235579ad0dc25e65c917e756fe80cab96aa3b9428bd3fb0"},
2036
+ {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c412ccc2ad9bf3755915e3908e677b367ebc8d010acbb3f182814524f2e5540"},
2037
+ {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a686885a4b3818d9e62904d91b57fa757fc2bed3e465c8b177be652f4dd37c8"},
2038
+ {file = "scikit_learn-1.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:c15b1ca23d7c5f33cc2cb0a0d6aaacf893792271cddff0edbd6a40e8319bc113"},
2039
+ {file = "scikit_learn-1.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:03b6158efa3faaf1feea3faa884c840ebd61b6484167c711548fce208ea09445"},
2040
+ {file = "scikit_learn-1.5.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1ff45e26928d3b4eb767a8f14a9a6efbf1cbff7c05d1fb0f95f211a89fd4f5de"},
2041
+ {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f763897fe92d0e903aa4847b0aec0e68cadfff77e8a0687cabd946c89d17e675"},
2042
+ {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8b0ccd4a902836493e026c03256e8b206656f91fbcc4fde28c57a5b752561f1"},
2043
+ {file = "scikit_learn-1.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:6c16d84a0d45e4894832b3c4d0bf73050939e21b99b01b6fd59cbb0cf39163b6"},
2044
+ {file = "scikit_learn-1.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f932a02c3f4956dfb981391ab24bda1dbd90fe3d628e4b42caef3e041c67707a"},
2045
+ {file = "scikit_learn-1.5.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3b923d119d65b7bd555c73be5423bf06c0105678ce7e1f558cb4b40b0a5502b1"},
2046
+ {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f60021ec1574e56632be2a36b946f8143bf4e5e6af4a06d85281adc22938e0dd"},
2047
+ {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:394397841449853c2290a32050382edaec3da89e35b3e03d6cc966aebc6a8ae6"},
2048
+ {file = "scikit_learn-1.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:57cc1786cfd6bd118220a92ede80270132aa353647684efa385a74244a41e3b1"},
2049
+ {file = "scikit_learn-1.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9a702e2de732bbb20d3bad29ebd77fc05a6b427dc49964300340e4c9328b3f5"},
2050
+ {file = "scikit_learn-1.5.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:b0768ad641981f5d3a198430a1d31c3e044ed2e8a6f22166b4d546a5116d7908"},
2051
+ {file = "scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:178ddd0a5cb0044464fc1bfc4cca5b1833bfc7bb022d70b05db8530da4bb3dd3"},
2052
+ {file = "scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7284ade780084d94505632241bf78c44ab3b6f1e8ccab3d2af58e0e950f9c12"},
2053
+ {file = "scikit_learn-1.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:b7b0f9a0b1040830d38c39b91b3a44e1b643f4b36e36567b80b7c6bd2202a27f"},
2054
+ {file = "scikit_learn-1.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:757c7d514ddb00ae249832fe87100d9c73c6ea91423802872d9e74970a0e40b9"},
2055
+ {file = "scikit_learn-1.5.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:52788f48b5d8bca5c0736c175fa6bdaab2ef00a8f536cda698db61bd89c551c1"},
2056
+ {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:643964678f4b5fbdc95cbf8aec638acc7aa70f5f79ee2cdad1eec3df4ba6ead8"},
2057
+ {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca64b3089a6d9b9363cd3546f8978229dcbb737aceb2c12144ee3f70f95684b7"},
2058
+ {file = "scikit_learn-1.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:3bed4909ba187aca80580fe2ef370d9180dcf18e621a27c4cf2ef10d279a7efe"},
2059
+ {file = "scikit_learn-1.5.2.tar.gz", hash = "sha256:b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d"},
2060
+ ]
2061
+
2062
+ [package.dependencies]
2063
+ joblib = ">=1.2.0"
2064
+ numpy = ">=1.19.5"
2065
+ scipy = ">=1.6.0"
2066
+ threadpoolctl = ">=3.1.0"
2067
+
2068
+ [package.extras]
2069
+ benchmark = ["matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "pandas (>=1.1.5)"]
2070
+ build = ["cython (>=3.0.10)", "meson-python (>=0.16.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)"]
2071
+ docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-design (>=0.6.0)", "sphinx-gallery (>=0.16.0)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)"]
2072
+ examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"]
2073
+ install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoolctl (>=3.1.0)"]
2074
+ maintenance = ["conda-lock (==2.5.6)"]
2075
+ tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.2.1)", "scikit-image (>=0.17.2)"]
2076
+
2077
  [[package]]
2078
  name = "scipy"
2079
  version = "1.14.0"
 
2131
  dev = ["Django (>=1.11)", "check-manifest", "colorama (<=0.4.1)", "coverage", "flake8", "nose2", "readme-renderer (<25.0)", "tox", "wheel", "zest.releaser[recommended]"]
2132
  doc = ["Sphinx", "sphinx-rtd-theme"]
2133
 
2134
+ [[package]]
2135
+ name = "setuptools"
2136
+ version = "75.2.0"
2137
+ description = "Easily download, build, install, upgrade, and uninstall Python packages"
2138
+ optional = false
2139
+ python-versions = ">=3.8"
2140
+ files = [
2141
+ {file = "setuptools-75.2.0-py3-none-any.whl", hash = "sha256:a7fcb66f68b4d9e8e66b42f9876150a3371558f98fa32222ffaa5bced76406f8"},
2142
+ {file = "setuptools-75.2.0.tar.gz", hash = "sha256:753bb6ebf1f465a1912e19ed1d41f403a79173a9acf66a42e7e6aec45c3c16ec"},
2143
+ ]
2144
+
2145
+ [package.extras]
2146
+ check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"]
2147
+ core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
2148
+ cover = ["pytest-cov"]
2149
+ doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
2150
+ enabler = ["pytest-enabler (>=2.2)"]
2151
+ test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
2152
+ type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"]
2153
+
2154
  [[package]]
2155
  name = "shellingham"
2156
  version = "1.5.4"
 
2201
  [package.extras]
2202
  full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"]
2203
 
2204
+ [[package]]
2205
+ name = "threadpoolctl"
2206
+ version = "3.5.0"
2207
+ description = "threadpoolctl"
2208
+ optional = false
2209
+ python-versions = ">=3.8"
2210
+ files = [
2211
+ {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"},
2212
+ {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"},
2213
+ ]
2214
+
2215
  [[package]]
2216
  name = "tomlkit"
2217
  version = "0.12.0"
 
2433
  [metadata]
2434
  lock-version = "2.0"
2435
  python-versions = ">=3.10,<3.12"
2436
+ content-hash = "decf0f110b920a3dd81fd818bcb9d32ce95bb1efaf4c3ea61815b51be06cab11"
pyproject.toml CHANGED
@@ -9,6 +9,9 @@ python = ">=3.10,<3.12"
9
  gradio = "4.44.0"
10
  yt-dlp = "2024.07.07"
11
  scipy = "1.14.0"
 
 
 
12
 
13
  [build-system]
14
  requires = ["poetry-core>=1.0.0"]
 
9
  gradio = "4.44.0"
10
  yt-dlp = "2024.07.07"
11
  scipy = "1.14.0"
12
+ scikit-learn = "1.5.2"
13
+ flake8 = "7.1.1"
14
+ moviepy = "1.0.3"
15
 
16
  [build-system]
17
  requires = ["poetry-core>=1.0.0"]
run_dev_env.sh CHANGED
@@ -8,7 +8,7 @@ ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
8
  if [[ $(id -u) -eq 0 ]]; then
9
  echo "This script cannot be executed with root privileges."
10
  echo "Please re-run without sudo and follow instructions to configure docker for non-root user if needed."
11
- exit 1
12
  fi
13
 
14
  # Check if user can run docker without root.
@@ -17,14 +17,14 @@ if [[ ! $(groups $USER) =~ $RE ]]; then
17
  echo "User |$USER| is not a member of the 'docker' group and cannot run docker commands without sudo."
18
  echo "Run 'sudo usermod -aG docker \$USER && newgrp docker' to add user to 'docker' group, then re-run this script."
19
  echo "See: https://docs.docker.com/engine/install/linux-postinstall/"
20
- exit 1
21
  fi
22
 
23
  # Check if able to run docker commands.
24
  if [[ -z "$(docker ps)" ]] ; then
25
  echo "Unable to run docker commands. If you have recently added |$USER| to 'docker' group, you may need to log out and log back in for it to take effect."
26
  echo "Otherwise, please check your Docker installation."
27
- exit 1
28
  fi
29
 
30
  PLATFORM="$(uname -m)"
@@ -35,4 +35,6 @@ if [ $PLATFORM = "x86_64" ]; then
35
  docker run -it --rm -v $ROOT:/app -w /app --network host ghcr.io/moriyalab/lab_tool:latest /bin/bash
36
  else
37
  echo "Not Support Platform. Only support x86."
 
 
38
  fi
 
8
  if [[ $(id -u) -eq 0 ]]; then
9
  echo "This script cannot be executed with root privileges."
10
  echo "Please re-run without sudo and follow instructions to configure docker for non-root user if needed."
11
+ # exit 1
12
  fi
13
 
14
  # Check if user can run docker without root.
 
17
  echo "User |$USER| is not a member of the 'docker' group and cannot run docker commands without sudo."
18
  echo "Run 'sudo usermod -aG docker \$USER && newgrp docker' to add user to 'docker' group, then re-run this script."
19
  echo "See: https://docs.docker.com/engine/install/linux-postinstall/"
20
+ # exit 1
21
  fi
22
 
23
  # Check if able to run docker commands.
24
  if [[ -z "$(docker ps)" ]] ; then
25
  echo "Unable to run docker commands. If you have recently added |$USER| to 'docker' group, you may need to log out and log back in for it to take effect."
26
  echo "Otherwise, please check your Docker installation."
27
+ # exit 1
28
  fi
29
 
30
  PLATFORM="$(uname -m)"
 
35
  docker run -it --rm -v $ROOT:/app -w /app --network host ghcr.io/moriyalab/lab_tool:latest /bin/bash
36
  else
37
  echo "Not Support Platform. Only support x86."
38
+ docker pull ghcr.io/moriyalab/lab_tool:latest
39
+ docker run -it --rm -v $ROOT:/app -w /app --network host ghcr.io/moriyalab/lab_tool:latest /bin/bash
40
  fi