以前の記事が2019年に作成したものなので少し更新。
NASも新しくしてかなり余裕ができたというところもある。
収益化の都合でYouTubeの動画投稿者が一部動画を削除することがある。結構ある。(過激だったり性的だったり……)
消されてからでは何も対処できないが、消される前の対処法としてこちらの使い方を紹介しておこうと思う。
注意
この記事は違法にアップロードされた動画をダウンロードするといった行為は推奨しない。自己責任で。
本当に応援しているならローカルに保存して再生するのではなく、YouTubeで視聴して高評価とチャンネル登録を心がけよう。再生数と評価が投稿者のモチベーションに繋がる。YouTubeで収益化しているチャンネルなら尚更。
ローカル再生は最終手段。
下準備
youtube-dl(yt-dlpやytdl-patchedもおすすめ)とFFmpeg(GyanD/BtbN)をダウンロードしておく。
今回私はytdl-patchedの最新版(2021.08.25.1629886051)を、FFmpegはGyanD氏のffmpeg-4.4-full_build.zipを使用した。
youtube-dl.exeとffmpeg.exeを同一フォルダ内に入れる。
環境変数等の設定はこの記事では紹介しないので、このフォルダ内で実行する前提で話を進めていく。
yt-dlpやytdl-patchedを使用する場合は適宜読み替えるか実行ファイルをyoutube-dl.exeにリネームしたりして対応してほしい。
必要なランタイムは以下の通り。
サンプルに使わせていただく動画
以前とは別のこの動画。LGの店頭表示で見る映像だと思う。
基本的な使い方
youtube-dl.exeとffmpeg.exeを同じフォルダ内に置き、コマンドラインで以下を実行するだけで動画をダウンロードすることができる。
youtube-dl [動画URL]
ここにオプションを付け加えることで画質や音質の指定、保存場所やファイル名の指定等が可能になる。
format idの確認
「-F」をつけて動画URLを渡すことで、そのURL先にどんな形式の映像・音声が存在するか確認することができる。
youtube-dl -F [動画URL]
C:\temp>youtube-dl -F https://www.youtube.com/watch?v=WEwgbKr5R9I
[youtube] WEwgbKr5R9I: Downloading webpage
[youtube] WEwgbKr5R9I: Downloading android player API JSON
[info] Available formats for WEwgbKr5R9I:
ID EXT RESOLUTION FPS | FILESIZE TBR PROTO | VCODEC VBR ACODEC ABR ASR MORE INFO
--- ---- ---------- --- - ---------- ------ ----- - ------------------------------ ------ --------- ---- ------- ---------------------------------
139 m4a audio only | 726.67KiB 48k https | mp4a.40.5 48k 22050Hz low, m4a_dash
249 webm audio only | 773.71KiB 52k https | opus 52k 48000Hz low, webm_dash
250 webm audio only | 1.01MiB 69k https | opus 69k 48000Hz low, webm_dash
140 m4a audio only | 1.88MiB 129k https | mp4a.40.2 129k 44100Hz medium, m4a_dash
251 webm audio only | 2.00MiB 137k https | opus 137k 48000Hz medium, webm_dash
17 3gp 176x144 8 | 1.09MiB 75k https | mp4v.20.3 75k mp4a.40.2 0k 22050Hz 144p
394 mp4 256x144 30 | 927.90KiB 62k https | av01.0.00M.10.0.110.09.16.09.0 62k 144p HDR, mp4_dash
160 mp4 256x144 30 | 897.85KiB 60k https | avc1.4d400c 60k 144p, mp4_dash
278 webm 256x144 30 | 1.09MiB 75k https | vp9 75k 144p, webm_dash
694 mp4 256x144 60 | 2.00MiB 138k https | av01.0.00M.10.0.110.09.16.09.0 138k 144p60 HDR, mp4_dash
330 webm 256x144 60 | 2.41MiB 166k https | vp9.2 166k 144p60 HDR, webm_dash
395 mp4 426x240 30 | 1.34MiB 92k https | av01.0.00M.10.0.110.09.16.09.0 92k 240p HDR, mp4_dash
133 mp4 426x240 30 | 1.94MiB 133k https | avc1.4d4015 133k 240p, mp4_dash
242 webm 426x240 30 | 2.00MiB 137k https | vp9 137k 240p, webm_dash
695 mp4 426x240 60 | 4.25MiB 292k https | av01.0.01M.10.0.110.09.16.09.0 292k 240p60 HDR, mp4_dash
331 webm 426x240 60 | 5.54MiB 381k https | vp9.2 381k 240p60 HDR, webm_dash
396 mp4 640x360 30 | 2.73MiB 187k https | av01.0.01M.10.0.110.09.16.09.0 187k 360p HDR, mp4_dash
134 mp4 640x360 30 | 4.08MiB 280k https | avc1.4d401e 280k 360p, mp4_dash
18 mp4 640x360 30 | 8.90MiB 612k https | avc1.42001E 612k mp4a.40.2 0k 44100Hz 360p
243 webm 640x360 30 | 4.55MiB 313k https | vp9 313k 360p, webm_dash
332 webm 640x360 60 | 12.34MiB 850k https | vp9.2 850k 360p60 HDR, webm_dash
397 mp4 854x480 30 | 5.01MiB 345k https | av01.0.04M.10.0.110.09.16.09.0 345k 480p HDR, mp4_dash
135 mp4 854x480 30 | 6.65MiB 458k https | avc1.4d401f 458k 480p, mp4_dash
244 webm 854x480 30 | 8.41MiB 579k https | vp9 579k 480p, webm_dash
697 mp4 854x480 60 | 16.39MiB 1128k https | av01.0.05M.10.0.110.09.16.09.0 1128k 480p60 HDR, mp4_dash
333 webm 854x480 60 | 24.69MiB 1701k https | vp9.2 1701k 480p60 HDR, webm_dash
22 mp4 1280x720 30 | 1618k https | avc1.64001F 1618k mp4a.40.2 0k 44100Hz 720p
136 mp4 1280x720 30 | 21.62MiB 1489k https | avc1.4d401f 1489k 720p (maybe throttled), mp4_dash
247 webm 1280x720 30 | 16.87MiB 1161k https | vp9 1161k 720p (maybe throttled), webm_dash
398 mp4 1280x720 60 | 15.08MiB 1038k https | av01.0.08M.10.0.110.09.16.09.0 1038k 720p60 HDR, mp4_dash
698 mp4 1280x720 60 | 45.01MiB 3100k https | av01.0.08M.10.0.110.09.16.09.0 3100k 720p60 HDR, mp4_dash
298 mp4 1280x720 60 | 35.83MiB 2468k https | avc1.4d4020 2468k 720p60, mp4_dash
302 webm 1280x720 60 | 26.45MiB 1821k https | vp9 1821k 720p60, webm_dash
334 webm 1280x720 60 | 58.58MiB 4035k https | vp9.2 4035k 720p60 HDR, webm_dash
399 mp4 1920x1080 60 | 28.90MiB 1990k https | av01.0.09M.10.0.110.09.16.09.0 1990k 1080p60 HDR, mp4_dash
699 mp4 1920x1080 60 | 73.39MiB 5055k https | av01.0.09M.10.0.110.09.16.09.0 5055k 1080p60 HDR, mp4_dash
299 mp4 1920x1080 60 | 62.87MiB 4331k https | avc1.64002a 4331k 1080p60, mp4_dash
303 webm 1920x1080 60 | 47.81MiB 3293k https | vp9 3293k 1080p60, webm_dash
335 webm 1920x1080 60 | 90.96MiB 6266k https | vp9.2 6266k 1080p60 HDR, webm_dash
400 mp4 2560x1440 60 | 70.69MiB 4870k https | av01.0.12M.10.0.110.09.16.09.0 4870k 1440p60 HDR, mp4_dash
700 mp4 2560x1440 60 | 190.77MiB 13142k https | av01.0.12M.10.0.110.09.16.09.0 13142k 1440p60 HDR, mp4_dash
308 webm 2560x1440 60 | 137.47MiB 9470k https | vp9 9470k 1440p60, webm_dash
336 webm 2560x1440 60 | 222.02MiB 15294k https | vp9.2 15294k 1440p60 HDR, webm_dash
401 mp4 3840x2160 60 | 142.53MiB 9819k https | av01.0.13M.10.0.110.09.16.09.0 9819k 2160p60 HDR, mp4_dash
701 mp4 3840x2160 60 | 343.24MiB 23645k https | av01.0.13M.10.0.110.09.16.09.0 23645k 2160p60 HDR, mp4_dash
315 webm 3840x2160 60 | 319.00MiB 21976k https | vp9 21976k 2160p60, webm_dash
337 webm 3840x2160 60 | 403.68MiB 27809k https | vp9.2 27809k 2160p60 HDR, webm_dash
571 mp4 7680x4320 60 | 311.77MiB 21478k https | av01.0.17M.10.0.110.09.16.09.0 21478k 4320p60 HDR, mp4_dash
702 mp4 7680x4320 60 | 677.06MiB 46643k https | av01.0.17M.10.0.110.09.16.09.0 46643k 4320p60 HDR, mp4_dash
C:\temp>
指定なし
youtube-dl [動画URL]
まずは何も指定せずにyoutube-dlにURLのみを渡してみる。
C:\temp>youtube-dl https://www.youtube.com/watch?v=WEwgbKr5R9I
[youtube] WEwgbKr5R9I: Downloading webpage
[youtube] WEwgbKr5R9I: Downloading android player API JSON
[info] WEwgbKr5R9I: Downloading 1 format(s): 702+251
[download] Destination: LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f702.mp4
[download] 100% of 677.06MiB in 01:08
[download] Destination: LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f251.webm
[download] 100% of 2.00MiB in 00:00
[Merger] Merging formats into "LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.mkv"
Deleting original file LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f702.mp4 (pass -k to keep)
Deleting original file LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f251.webm (pass -k to keep)
C:\temp>
format idは702と251が選択され、『LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.mkv』というファイル名で保存された。
702は7680×4320のAV1(映像)で、
251は160kほどのVBR(可変ビットレート)のOpus(音声)だ。
『best』指定
youtube-dl -f best [動画URL]
次はフォーマットを指定する「-f」というオプションを使い、『best』を指定してみる。
C:\temp>youtube-dl -f best https://www.youtube.com/watch?v=WEwgbKr5R9I
[youtube] WEwgbKr5R9I: Downloading webpage
[youtube] WEwgbKr5R9I: Downloading android player API JSON
[info] WEwgbKr5R9I: Downloading 1 format(s): 22
[download] Destination: LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.mp4
[download] 100% of 23.49MiB in 00:01
C:\temp>
format idは22が選択され、『LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.mp4』というファイル名で保存された。
22は720pのH.264(映像)とmp4a(音声)がセットになったものだ。
映像+音声のセットになった形式の中では画質も音質も高品質のものではあるのだが、DLされるのはベストとは言えない品質の動画となる。
『bestvideo+bestaudio』 指定
youtube-dl -f bestvideo+bestaudio [動画URL]
今回も「-f」を使用して『bestvideo+bestaudio』を指定し、最高画質+最高音質のものを保存してみる。
C:\temp>youtube-dl -f bestvideo+bestaudio https://www.youtube.com/watch?v=WEwgbKr5R9I
[youtube] WEwgbKr5R9I: Downloading webpage
[youtube] WEwgbKr5R9I: Downloading android player API JSON
[info] WEwgbKr5R9I: Downloading 1 format(s): 702+251
[download] Destination: LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f702.mp4
[download] 100% of 677.06MiB in 00:17
[download] Destination: LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f251.webm
[download] 100% of 2.00MiB in 00:00
[Merger] Merging formats into "LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.mkv"
Deleting original file LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f251.webm (pass -k to keep)
Deleting original file LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.f702.mp4 (pass -k to keep)
C:\temp>
何も指定しなかった時と同様にformat idは702と251が選択され、『LG QNED 8K MiniLED │Shine 8K HDR 60fps-WEwgbKr5R9I.mkv』というファイル名で保存された。
youtube-dlで「 -f 」を使用せずに実行した際は『bestvideo+bestaudio/best』が指定されるようになっているので、とりあえずURLさえ渡せば最高画質+最高音質でDLされるのは嬉しいところ。
ファイル名指定
youtube-dl [動画URL] -o "%(upload_date)s_%(title)s_%(id)s.%(ext)s"
今度は「 -o 」を使用してDL後に決まるファイル名を指定する。
管理のしやすさを考えて、『[動画投稿日]_[動画タイトル]_[動画ID].[拡張子]』というファイル名にしたいので『-o “%(upload_date)s_%(title)s_%(id)s.%(ext)s”』を指定した。
C:\temp>youtube-dl https://www.youtube.com/watch?v=WEwgbKr5R9I -o "%(upload_date)s_%(title)s_%(id)s.%(ext)s"
[youtube] WEwgbKr5R9I: Downloading webpage
[youtube] WEwgbKr5R9I: Downloading android player API JSON
[info] WEwgbKr5R9I: Downloading 1 format(s): 702+251
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I.f702.mp4
[download] 100% of 677.06MiB in 00:20
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I.f251.webm
[download] 100% of 2.00MiB in 00:00
[Merger] Merging formats into "20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I.mkv"
Deleting original file 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I.f702.mp4 (pass -k to keep)
Deleting original file 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I.f251.webm (pass -k to keep)
C:\temp>
『20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I.mkv』というファイル名になった。
youtube-dl [動画URL] -o "%(upload_date)s_%(title)s_%(id)s_%(format_id)s.%(ext)s"
『%(format_id)s』を入れればformat_idをファイル名に入れることもできる。
『[動画投稿日]_[動画タイトル]_[動画ID]_[format_id].[拡張子]』を指定してみる。
C:\temp>youtube-dl https://www.youtube.com/watch?v=WEwgbKr5R9I -o "%(upload_date)s_%(title)s_%(id)s_%(format_id)s.%(ext)s"
[youtube] WEwgbKr5R9I: Downloading webpage
[youtube] WEwgbKr5R9I: Downloading android player API JSON
[info] WEwgbKr5R9I: Downloading 1 format(s): 702+251
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_702+251.f702.mp4
[download] 100% of 677.06MiB in 00:21
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_702+251.f251.webm
[download] 100% of 2.00MiB in 00:00
[Merger] Merging formats into "20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_702+251.mkv"
Deleting original file 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_702+251.f251.webm (pass -k to keep)
Deleting original file 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_702+251.f702.mp4 (pass -k to keep)
C:\temp>
拡張子の前にformat_idを入れて『20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_702+251.mkv』というファイル名にできた。
すべてのフォーマットをDLする
youtube-dl [動画URL] -f all -o "%(upload_date)s_%(title)s_%(id)s_%(format_id)s.%(ext)s"
「 -f 」に『 all 』を指定することで、動画で使われているすべてのフォーマットをDLすることができる。
『%(format_id)s』を指定しないとファイル名が同一になってしまい全てDLできないので必ず指定すること。
そして動画によってはファイル数・容量ともにかなり消費するのでおすすめしない。
C:\temp>youtube-dl https://www.youtube.com/watch?v=WEwgbKr5R9I -f all -o "%(upload_date)s_%(title)s_%(id)s_%(format_id)s.%(ext)s"
[youtube] WEwgbKr5R9I: Downloading webpage
[youtube] WEwgbKr5R9I: Downloading android player API JSON
[info] WEwgbKr5R9I: Downloading 49 format(s): 139, 249, 250, 140, 251, 17, 394, 160, 278, 694, 330, 395, 133, 242, 695, 331, 396, 134, 18, 243, 332, 397, 135, 244, 697, 333, 22, 136, 247, 398, 698, 298, 302, 334, 399, 699, 299, 303, 335, 400, 700, 308, 336, 401, 701, 315, 337, 571, 702
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_139.m4a
[download] 100% of 726.67KiB in 00:00
[FixupM4a] Correcting container of "20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_139.m4a"
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_249.webm
[download] 100% of 773.71KiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_250.webm
[download] 100% of 1.01MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_140.m4a
[download] 100% of 1.88MiB in 00:00
[FixupM4a] Correcting container of "20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_140.m4a"
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_251.webm
[download] 100% of 2.00MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_17.3gp
[download] 100% of 1.09MiB in 00:14
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_394.mp4
[download] 100% of 927.90KiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_160.mp4
[download] 100% of 897.85KiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_278.webm
[download] 100% of 1.09MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_694.mp4
[download] 100% of 2.00MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_330.webm
[download] 100% of 2.41MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_395.mp4
[download] 100% of 1.34MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_133.mp4
[download] 100% of 1.94MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_242.webm
[download] 100% of 2.00MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_695.mp4
[download] 100% of 4.25MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_331.webm
[download] 100% of 5.54MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_396.mp4
[download] 100% of 2.73MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_134.mp4
[download] 100% of 4.08MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_18.mp4
[download] 100% of 8.90MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_243.webm
[download] 100% of 4.55MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_332.webm
[download] 100% of 12.34MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_397.mp4
[download] 100% of 5.01MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_135.mp4
[download] 100% of 6.65MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_244.webm
[download] 100% of 8.41MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_697.mp4
[download] 100% of 16.39MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_333.webm
[download] 100% of 24.69MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_22.mp4
[download] 100% of 23.49MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_136.mp4
[download] 100% of 21.62MiB in 00:00
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_247.webm
[download] 100% of 16.87MiB in 00:02
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_398.mp4
[download] 100% of 15.08MiB in 00:07
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_698.mp4
[download] 100% of 45.01MiB in 00:06
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_298.mp4
[download] 100% of 35.83MiB in 00:05
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_302.webm
[download] 100% of 26.45MiB in 00:03
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_334.webm
[download] 100% of 58.58MiB in 00:08
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_399.mp4
[download] 100% of 28.90MiB in 00:04
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_699.mp4
[download] 100% of 73.39MiB in 00:10
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_299.mp4
[download] 100% of 62.87MiB in 00:09
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_303.webm
[download] 100% of 47.81MiB in 00:06
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_335.webm
[download] 100% of 90.96MiB in 00:12
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_400.mp4
[download] 100% of 70.69MiB in 00:37
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_700.mp4
[download] 100% of 190.77MiB in 00:27
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_308.webm
[download] 100% of 137.47MiB in 00:22
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_336.webm
[download] 100% of 222.02MiB in 00:31
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_401.mp4
[download] 100% of 142.53MiB in 00:29
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_701.mp4
[download] 100% of 343.24MiB in 00:48
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_315.webm
[download] 100% of 319.00MiB in 00:43
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_337.webm
[download] 100% of 403.68MiB in 00:16
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_571.mp4
[download] 100% of 311.77MiB in 00:53
[download] Destination: 20210624_LG QNED 8K MiniLED │Shine 8K HDR 60fps_WEwgbKr5R9I_702.mp4
[download] 100% of 677.06MiB in 00:18
C:\temp>
私が使っているもの
私は.batに以下のようなコマンドを書いて使用している。
.bat上では%は%%と表記しないと正常に動作しないので注意。(参考)
youtube-dl [動画URL] -i -f bestvideo+251/bestvideo+bestaudio/best --download-archive ytdownloaded.txt --match-filter "!is_live" --add-metadata --embed-subs --embed-thumbnail --write-info-json --merge-output-format mkv -o "\videos\%%(upload_date)s_%%(title)s_%%(id)s_%%(format_id)s.%%(ext)s"
オプション解説
WordPress上では文中にハイフンを2つ連続して表示させることができないらしい。
記事の見出しや本文中にハイフンを2つ入力するとemダッシュ1つに変換されてしまうようだ。(参考)
コードを表示するブロック内では正しく表示できるらしいので、見出しの下にコードブロックを配置しておく。
動画URL
動画のURLを渡すとその動画のみ、チャンネルのURLを渡すことでチャンネル内の動画、再生リストのURLを渡すことで再生リストを一括でDLしてくれる。
気に入ったチャンネルはある程度保存しているので安心していられる。
-i (–ignore-errors)
-i (--ignore-errors)
ダウンロード時にエラーが出ても無視して次のダウンロードを続ける。いちいち止まらないのでプレイリストやチャンネル一括DLの時にはこれをつけておくといい。
-f (–format)
-f (--format)
format codeの指定ができる。私は今回『bestvideo+251/bestvideo+bestaudio/best』と指定した。
『bestvideo+251』 → 『bestvideo+bestaudio』 → 『best』の順でDLを試すような形。
以前251(Opus)があるのに140(mp4a)をDLしようとしたことがあるので敢えて251を指定しているが、今はもうbestvideo+bestaudioだけでいいかもしれない。
以下の記事にformat codeをまとめたものもあるので参考にしてほしい。
–download-archive ytdownloaded.txt
--download-archive ytdownloaded.txt
ダウンロードが完了した動画IDを「ytdownloaded.txt」という名前でテキストファイルに保存する。名前はもちろん変更可。
ダウンロード済みの動画をスキップしてくれるので余計な時間がかからないのでおすすめ。
.txtが存在しない場合は新規作成してくれる。
–match-filter
--match-filter
条件を指定してダウンロードするかどうかを決めることができる。
私は『”!is_live”』を指定した。『is_live』でライブ配信のみを指定でき、その前に『!』を入れることで条件を反転することができる。
チャンネル動画を一括DLしたいのにライブ配信中だとライブ配信を優先してしまうので、敢えてこれを指定している。
–add-metadata –embed-subs –embed-thumbnail –write-info-json
--add-metadata --embed-subs --embed-thumbnail --write-info-json
面倒だから一つにまとめてしまったが以下の通り。
『--add-metadata』はメタデータを動画に埋め込む 『--embed-subs』は字幕が存在する場合動画に埋め込む 『--embed-thumbnail』はサムネイル画像を動画に埋め込む 『--write-info-json』は動画情報を別ファイル(.json)で保存
–merge-output-format
--merge-output-format
動画のみと音声のみのファイルを指定する場合は勝手に結合してくれるが、webmに入るなら.webmという拡張子になったり、mp4になったりする。
フォーマットによって拡張子が変わるのは面倒なので、何でも入るコンテナの『mkv』を指定。全部mkvに一本化してほしい。
–playlist-end
--playlist-end
『5』を指定しているので、渡したチャンネルURLや再生リストの最新5件のみを保存してくれる。
定期的に.batを実行している場合や、全動画をDLする必要がない時にこのオプションをつけている。
-o (–output)
-o (--output)
ファイル名の指定が可能。
私は今回『”\videos\%%(upload_date)s_%%(title)s_%%(id)s_%%(format_id)s.%%(ext)s”』と指定し、videosというフォルダ内にチャンネル内の動画が一括で保存されることになる。
なお、.batなので%%と表記している(参考)
自分の好きなファイル名にしたい場合は公式リファレンスや詳しく紹介しているサイトを参考にしてほしい。
コメント
参考にさせて頂いております
下記の動画で”-f bestvideo+bestaudio”を指定すると”248+251″がダウンロードされます、137の方がビットレートが高いので”137+140″でダウンロードされて欲しいのですが設定方法はございますでしょうか?
動画によっては137より高解像度の物も存在するため137指定はしたくありません
どうぞよろしくお願いいたします
https://www.youtube.com/watch?v=XlDJ9GUf_6Q
コメントありがとうございます。
同じフォーマットコードを指定しても動画によってはビットレートが違うから高い方をダウンロードしたいということでしょうか?
であれば、”-f bestvideo+bestaudio -S vbr”を指定することでビットレートがより高いものをダウンロードするようになります。(挙げて頂いた動画では137+251でダウンロードされます)
VP9のほうが高効率なコーデックなので、念の為ビットレート等の数字ではなくAVCとVP9の品質をご自身の目で見比べてから常用するか決めることをおすすめします。
hchchさん
早々にご返信頂きありがとうございます
アドバイス頂いた設定で希望のものがダウンロード出来ました
AVCとVP9についてもアドバイスありがとうございます
確かに仰るとおりビットレートの高低だけでどちらが高画質か決めるのは早計ですね
確認して決めたいと思います
今後ともよろしくお願いいたしますm(_ _)m
度々の質問で申し訳ありません
”『–embed-thumbnail』はサムネイル画像を動画に埋め込む”と記載頂いておりますが
このオプションを設定するとサムネイルと思われるpngファイルとwebpファイル(内容は不明)が生成され、動画のサムネイルは作成されていない模様です
ただ、youtube-dlではなくyt-dlpを使用しているのでオプションの動作が異なるのかもしれないので、的外れの質問でしたらご容赦ください
どうぞよろしくお願いいたします
コメントありがとうございます。
このブログを運営するために使っているソフトウェアであるWordPressでは、ハイフン2つを表示させようとするとemダッシュ1つに変換されてしまうようです。
そのため、正しくない引数が表示され、それをコピーしてしまったものと思われます。
本文中にその点を追記しましたのでご確認ください。
hchch さん
コメントありがとうございます
わかり辛い書き方で申し訳ありません
当方が質問したかったのは『ハイフン2つ+embed-thumbnail』を設定してもサムネイル画像が動画に埋め込まれないのですが、何か解決策がございましたら教えて下さいませ
という事ですた(^^ゞ
私の環境では正しく埋め込まれていますね。
サムネイル画像が埋め込まれる直前まではWEBP形式やPNG形式のファイルもありますが、埋め込まれた後に削除されます。
何かしらエラーが出ていたりしませんか?
hchchさん
コメントありがとうございます
エラー出てました
(完全に見逃しておりました)
ffprobeが無いって言ってました
ffprobe.exeを入れたらエラーが出なくなりpngファイルとwebpファイルが動画に合成された模様です
ちなみになのですがこの動画に埋め込まれたサムネイル画像はどこで見られるのでしょうか?
(てっきりエクスプローラーのアイコン画像がサムネイル画像に置き換わるのかと思っていましたが違いました)
私もエクスプローラのサムネイルに反映されれば嬉しかったのですが、そういった機能ではないようです。
VLC Media Playerで開き、メディア情報を見ると埋め込まれていることがわかりますよ。
hchch さん
> VLC Media Playerで開き、メディア情報を見ると埋め込まれていることがわかりますよ。
なるほどですね
ありがとうございます
何度も申し訳ありません
タイトルの内容でダウンロードする・しないを判定する事は可能でしょうか?
例えば
動画、はじめてみました【テレビ朝日公式】(https://www.youtube.com/channel/UCkGCQ4TN-8gvb8QCYIqygHw/videos)からタイトルに「キョコロヒー」が含まれるもののみダウンロード出来れば嬉しいのです
オプションの説明を見ると出来なさそうではありますが …
どうぞよろしくお願いいたします
(書き込みが反映されていない様なので再度書き込みいたします)
いつも有難うございます
再び質問させてください
タイトルに含まれる文字列でフィルタしてダウンロードの可否を行う事は可能でしょうか?
例えば
動画、はじめてみました【テレビ朝日公式】(https://www.youtube.com/channel/UCkGCQ4TN-8gvb8QCYIqygHw/videos)のチャネルでタイトルに「キョコロヒー」が含まれる動画のみダウンロードしたい
オプションの説明を読むと無理っぽい感じですが …
もしご存知でしたらと思いまして質問させていただきました
どうぞよろしくお願いいたします
毎度コメントありがとうございます。
youtube-dlやyt-dlpのフィルタ機能では実現できなさそうです。ただ、URL側で調整すればできますね。
以下URLをyoutube-dlに渡せば達成できると思いますが如何でしょう?
https://www.youtube.com/channel/UCkGCQ4TN-8gvb8QCYIqygHw/search?query=%E3%82%AD%E3%83%A7%E3%82%B3%E3%83%AD%E3%83%92%E3%83%BC
hchch さん
早々にご回答頂きありがとうございます
おぉー!!!!
渡すURL側でフィルタすれば良かったのですね!!
全くの盲点でした
非常に助かりました
どうもありがとうございましたm(_ _)m