yt-dlpで最高品質の動画をダウンロードする
とりあえず最高品質で
yt-dlpで最高品質の動画をダウンロードする場合は、基本的に何もオプションを付ける必要はない code:sh
yt-dlp <URL>
これだけでいい
何もオプションを付けなかった時のデフォルトが-f bestvideo*+bestaudio/bestになっているため
ただし、あらかじめffmpegのパスを通しておかないと、解像度が下がってしまうことがあるので注意 便利なオプション(任意)
必要に応じてオプションをつけよう
--embed-thumbnail
動画ファイルにサムネイルを埋め込む
--embed-subs
動画に字幕を埋め込む
--embed-metadata, --add-metadata
メタデータを動画に埋め込む
デフォルトでは、後述のチャプターやinfojsonも一緒に埋め込む
--no-embed-chaptersや--no-embed-info-jsonを併用することで、埋め込まないように設定可能
--embed-chapters
ただし、チャプターマーカー自体はmpv等の一部の再生アプリでしか対応していないので注意 --embed-info-json
--list-formats
ダウンロード可能な動画形式を一覧を確認する
このオプションが付いている時、動画はダウンロードされない
-f <フォーマット>
ダウンロードする動画や音声のフォーマットを指定できる
code:sh
mp4であれば、上記のサムネイル埋め込みや字幕埋め込みなどにも対応している
code:sh
ただし、上のコマンドはフルHD解像度より高い動画を落とせないという欠点がある code:sh
yt-dlp --recode-video mp4 --embed-thumbnail --embed-subs --embed-metadata <URL>
最高画質の動画をダウンロードした後、.mp4に変換する ffmpegでやることもできる(というかそっちの方がGPUエンコードができるので早い) ただし、サムネイルや字幕などに対応していない形式が挟まれると、それらの埋め込みが外れてしまう可能性がある
途中コンソールが長時間固まるが、エンコードに時間がかかっているだけなので中断しないように気をつけよう
サムネイル等を捨てて手っ取り早く4K mp4の動画を入手したい人向け
そうでない人は通常と時間は変わらないので、素直にyt-dlpのみで変換をかけたほうが良い AMD Radeon GPUに対応したオプションもあるかもしれないけれど、Mijinko_SD.iconは知らない code:sh
yt-dlp -f "bv,ba" -o "%(title)s %(id)s %(format)s.%(ext)s" <URL> デフォルトのままだと動画と音声でファイル名がダブることがあったので、それを解消するために-oオプションでファイル名の形式を指定している
code:sh
ffmpeg -i "<動画ファイル名>" -i "<音声ファイル名>" -vcodec hevc_nvenc <出力するファイルの名前>.mp4
参考