以下を使って動画をダウンロードすると、ビデオダウンロードダウンロード中に部品ファイルを見ることができます(私の場合はユーティリティ車両)。ビデオとオーディオの両方を含む形式を選択できないか選択したくないと仮定すると、ビデオのダウンロードが完了した後にダウンロードおよびマージされるため、部品ファイルのオーディオが欠落します。
オーディオを含むファイルの一部を見るために、ダウンロード中にオーディオとビデオをマージする簡単な方法はありますか?
同様の質問をしたことがあります。フラッグハブ--downloader ffmpeg
このオプションが利用可能であることがわかりました。これはうまくいきますが、非常に遅いので、より速い方法を探しています。
この問題は、非常に大きな高品質のビデオ(10時間の長さなど)をダウンロードしたときに発生します。しかし、オーディオをダウンロードする方がはるかに高速です。すでにオーディオファイルがあり、ビデオファイルをダウンロードしているとしましょう。ファイルのダウンロード中にffmpegを使用してオーディオをビデオに継続的にマージするなどの間接的な方法(解決方法)はありますか?
答え1
オプション1:ビデオとオーディオの混合/多重化ストリームを含むビデオダウンロード形式を選択できます。
例えば、
yt-dlp -F https://youtu.be/3QnD2c4Xovk
選択する形式と次の内容が一覧表示されます。
yt-dlp -f 18 https://youtu.be/3QnD2c4Xovk
フォーマットが選択されます。一部のファイルには、そのフォーマットがサポートしている場合はビデオとオーディオが含まれています。
オプション2:オーディオとビデオのそれぞれ1つずつ、2つのフォーマットをダウンロードしてから、次のように混在させることもできますyt-dlp
。
yt-dlp -f 251,244 https://youtu.be/3QnD2c4Xovk
テストで最初に指定した形式(ここでは251)が最初にダウンロードされ、ファイルの一部を再生してすぐに聞くことができました。
完全性を期すために、上記の現在の出力は
yt-dlp -F https://youtu.be/3QnD2c4Xovk
[youtube] Extracting URL: https://youtu.be/3QnD2c4Xovk
[youtube] 3QnD2c4Xovk: Downloading webpage
[youtube] 3QnD2c4Xovk: Downloading ios player API JSON
[youtube] 3QnD2c4Xovk: Downloading android player API JSON
[youtube] 3QnD2c4Xovk: Downloading m3u8 information
[info] Available formats for 3QnD2c4Xovk:
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb2 mhtml 48x27 0 │ mhtml │ images storyboard
sb1 mhtml 67x45 0 │ mhtml │ images storyboard
sb0 mhtml 135x90 0 │ mhtml │ images storyboard
233 mp4 audio only │ m3u8 │ audio only unknown [en] Default
234 mp4 audio only │ m3u8 │ audio only unknown [en] Default
139 m4a audio only 2 │ 1.84MiB 48k https │ audio only mp4a.40.5 48k 22k [en] low, m4a_dash
249 webm audio only 2 │ 2.22MiB 57k https │ audio only opus 57k 48k [en] low, webm_dash
250 webm audio only 2 │ 3.02MiB 78k https │ audio only opus 78k 48k [en] low, webm_dash
140 m4a audio only 2 │ 4.91MiB 127k https │ audio only mp4a.40.2 127k 44k [en] medium, m4a_dash
251 webm audio only 2 │ 5.82MiB 151k https │ audio only opus 151k 48k [en] medium, webm_dash
17 3gp 176x144 12 1 │ 2.17MiB 56k https │ mp4v.20.3 mp4a.40.2 22k [en] 144p
394 mp4 216x144 24 │ 1.26MiB 33k https │ av01.0.00M.08 33k video only 144p, mp4_dash
269 mp4 216x144 24 │ ~ 4.53MiB 115k m3u8 │ avc1.4D400C 115k video only
160 mp4 216x144 24 │ 717.16KiB 18k https │ avc1.4D400C 18k video only 144p, mp4_dash
603 mp4 216x144 24 │ ~ 5.39MiB 136k m3u8 │ vp09.00.11.08 136k video only
278 webm 216x144 24 │ 1.34MiB 35k https │ vp09.00.11.08 35k video only 144p, webm_dash
395 mp4 360x240 24 │ 1.41MiB 37k https │ av01.0.00M.08 37k video only 240p, mp4_dash
229 mp4 360x240 24 │ ~ 6.73MiB 170k m3u8 │ avc1.4D400D 170k video only
133 mp4 360x240 24 │ 1.11MiB 29k https │ avc1.4D400D 29k video only 240p, mp4_dash
604 mp4 360x240 24 │ ~ 9.56MiB 242k m3u8 │ vp09.00.20.08 242k video only
242 webm 360x240 24 │ 1.58MiB 41k https │ vp09.00.20.08 41k video only 240p, webm_dash
396 mp4 540x360 24 │ 2.13MiB 55k https │ av01.0.01M.08 55k video only 360p, mp4_dash
230 mp4 540x360 24 │ ~ 16.81MiB 425k m3u8 │ avc1.4D4015 425k video only
134 mp4 540x360 24 │ 2.31MiB 60k https │ avc1.4D4015 60k video only 360p, mp4_dash
18 mp4 540x360 24 2 │ ≈ 7.36MiB 186k https │ avc1.42001E mp4a.40.2 44k [en] 360p
605 mp4 540x360 24 │ ~ 19.08MiB 482k m3u8 │ vp09.00.21.08 482k video only
243 webm 540x360 24 │ 2.66MiB 69k https │ vp09.00.21.08 69k video only 360p, webm_dash
397 mp4 720x480 24 │ 3.21MiB 83k https │ av01.0.04M.08 83k video only 480p, mp4_dash
231 mp4 720x480 24 │ ~ 29.80MiB 753k m3u8 │ avc1.4D401E 753k video only
135 mp4 720x480 24 │ 4.36MiB 113k https │ avc1.4D401E 113k video only 480p, mp4_dash
606 mp4 720x480 24 │ ~ 28.21MiB 713k m3u8 │ vp09.00.30.08 713k video only
244 webm 720x480 24 │ 4.21MiB 109k https │ vp09.00.30.08 109k video only 480p, webm_dash
yt-dlp
ツールを使用すると、「オーディオのみ」および「ビデオのみ」の説明テキストを表示できます。
答え2
Ned64の回答を拡張すると、次のようにダウンロードを開始できます。
yt-dlp -f 'bestaudio[ext=m4a],bestvideo[ext=mp4]' 'https://www.youtube.com/watch?v=2tdiKTSdE9Y'
オーディオのダウンロードが完了したら、ビデオのダウンロード中に--audio-file
mpvオプションを使用できます。
mpv --audio-file="*[2tdiKTSdE9Y].m4a" "*[2tdiKTSdE9Y].mp4.part"
ogg および webm バリアントでも動作できます。