本文へスキップ
yt-dlp

YouTube 用 yt-dlp コマンドジェネレーター

YouTube の動画・再生リスト・チャンネル向けに、正確な yt-dlp コマンドを組み立てます。初期状態は 1080p MP4、チャプターとメタデータ付き、スポンサー区間は削除済みです。

任意です。空のままにするとコマンドは URL で終わるので、あとから自分で埋められます。

あなたのコマンド

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --embed-subs --sub-langs en --no-playlist --embed-thumbnail --embed-metadata --embed-chapters --sponsorblock-remove default 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
基本

音声のみを選ぶと音声トラックを取り出し、映像は捨てます。

動画と画質

高さの上限を決めます。yt-dlp はその上限以下で最良のストリームを選びます。

分かれている映像と音声のストリームを結合して入れるファイル形式です。

詳細オプション(3)

画質のプルダウンを上書きします。format の書き方をすでに知っている人向けです。

再エンコードせず入れ直すだけです。速く、劣化もありません。

映像を再エンコードします。遅く、劣化もします —— remux で足りないときだけ使ってください。

音声

音声を変換する先のファイル形式です。

VBR はサイズと品質の比がいちばん良く、固定 bitrate はサイズが読みやすいです。

字幕

埋め込みは字幕を動画の中に入れ、保存は隣に別の .srt ファイルを書き出します。

カンマ区切りで指定します。利用できる全言語が欲しいときは all と書きます。

再生リストとチャンネル

URL が動画と再生リストの両方に属している場合の動作です。

範囲もリストも使えます。たとえば 1-10,15、あるいは末尾から 1 つ飛ばしで取る -5::2 など。

詳細オプション(1)

ダウンロード済みの項目を記録するので、再実行時にはそれらを飛ばします。チャンネルを同期させ続ける方法がこれです。

区間とチャプター
詳細オプション(2)

*00:01:30-00:03:00 のような時間範囲、またはチャプター名です。先頭のアスタリスクは時刻であることを示します。

メタデータとカバー画像
詳細オプション(3)
SponsorBlock

SponsorBlock のデータをもとに、コミュニティが印を付けた区間をファイルから切り取ります。

詳細オプション(1)

区間は残したまま印を付けるので、自分で飛ばせます。

ファイルとフォルダ

フィールド名は %(...)s の中に書きます。スラッシュはフォルダを作ります。

詳細オプション(4)

ファイルを書き出す場所です。上のテンプレートと組み合わせるとサブフォルダも作れます。

ファイル名の最大長(文字数)です。

フィルタ
詳細オプション(5)

YYYYMMDD、または now-1month のような相対日付です。

YYYYMMDD、または相対日付です。

これより小さいものは飛ばします。5M、500K などが使えます。

これより大きいものは飛ばします。

停止するまでにダウンロードするファイル数です。

ネットワーク

たとえば 2M や 500K。残りの帯域を他のことに使いたいときに役立ちます。

詳細オプション(5)

分割されたストリームを速くします。まずは 4 くらいが妥当です。

失敗した部分を何回やり直すか。infinite も指定できます。

HTTP・HTTPS・SOCKS proxy の URL です。

リクエストを実際のブラウザからのものに見せます。突然 403 が出たときの定番の対処です。

ログインと cookies

ログイン中のセッションを直接読みます。非公開・年齢制限・メンバー限定のコンテンツには必要です。

詳細オプション(1)

ブラウザから書き出した Netscape 形式の cookies.txt です。

ライブ配信
詳細オプション(2)

予定されている配信が始まるまで問い合わせ続けます。MIN-MAX は確認の間隔(秒)です。

回避策
詳細オプション(3)

非推奨で、--add-headers に置き換わりました。古い解説記事がまだ多く使っているので残してあります。

非推奨で、--add-headers に置き換わりました。

サイトごとの専用オプションです。たとえば youtube:player_client=web。

出力とデバッグ
詳細オプション(2)
リセット

YouTube のどこが特殊なのか

720p を超えると、YouTube は映像と音声を別々のストリームとして配信します。そのため 1080p や 4K を求めるコマンドは両方を取って結合する必要があり、これが 720p 超では ffmpeg が必須で、それ以下では不要な理由です。このページのプリセットはすでにそう組んであります。

YouTube でもう一つ知っておく価値があるのはボット確認です。これが出たときは、ブラウザへの偽装がいちばん多くの場合に効き、あとは自分の cookies を渡せば残りも片付きます —— 年齢制限、メンバー限定、非公開の動画はいずれもログイン済みのセッションを必要とします。

よくある質問

YouTube を 1080p や 4K でダウンロードするには?
720p を超えると YouTube は映像と音声を別ストリームで配信するので、コマンドは両方を要求して結合する必要があり、それには ffmpeg が必要です。上で解像度を選べば、ジェネレーターが selector と container を書いてくれます。
YouTube にボットでないことの確認を求められます。
--impersonate chrome を付けるか、ログイン済みセッションを再利用する --cookies-from-browser chrome を使ってください。先にブラウザを閉じてください —— Chrome は起動中に cookies のデータベースをロックします。
音声だけを MP3 で取るには?
出力を「音声のみ」にして MP3 を選びます。カバー画像とメタデータを足せば、音楽ライブラリにそのまま入る状態で届きます。ffmpeg が必要です。
再生リスト全体をダウンロードするには?
再生リストの扱いを「再生リスト全体」にします。長い場合は記録ファイルを足して、再実行がやり直しではなく続きになるようにし、さらに「エラーでも続行」を入れて、1 本のブロックされた動画が残り全部を止めないようにします。
YouTube の字幕はダウンロードできますか?
できます —— 動画に埋め込むか、別の .srt として。自動生成字幕も有効にしてください。そうしないと人の字幕がない動画からは何も得られません。