yt-dlpの導入はこちらの記事を参考にしてください。
mp4をダウンロード
できるだけmp4をダウンロードする設定です。
-f "bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] / bv*+ba/b"
動画コーデックがAV1になることがありますが、H.264にしたい場合は以下を追加します。
-S vcodec:h264
解像度を指定
-f "bv*[height<=?1080]+ba/b[height<=?1080]"
1080p以下がダウンロードされます。
音声のみをダウンロード
-x
mp3に変換したい場合は以下のようにします。
-x --audio-format mp3
指定できるのはbest(デフォルト)、aac、alac、flac、m4a、mp3、opus、vorbis、wavのどれかです。
プレイリストをダウンロードしない
--no-playlist
再生中の動画のみをダウンロードします。
プレイリストから新しい動画のみをダウンロード
--download-archive archive.txt
プレイリストをダウンロードするとarchive.txtに記録され、2回目以降は新しい動画のみがダウンロードされます。
ライブ配信をダウンロード
--wait-for-video 30-90 --live-from-start
一部のサイトに対応しています。
配信が始まっていない場合は待機状態になります。既に始まっている場合は最初からダウンロードされます。
--wait-for-videoは配信が始まったかどうかを何秒ごとにチェックするかを指定します。短いとBot判定されることがあるため長めがおすすめです。長めに設定したとしても--live-from-startで最初からダウンロードできるので問題ありません。
範囲を指定するとランダムな秒数でチェックするのでBot判定されにくくなります。正確には開始時間までは最大値固定、開始時間になると始まるまでランダムになります。
ログインが必要な動画のダウンロード
クッキーを利用する方法
--cookies-from-browser firefox
ブラウザ名を指定します。指定したブラウザでログインして再生できるか確認したら、ブラウザを終了しておきます。
chromeやedgeも指定できますがクッキーの読み込みに失敗するかもしれません。Firefoxがおすすめです。
メールアドレスとパスワードを使用する方法
-u メールアドレス -p パスワード
複数のURLをダウンロード
-a URL.txt
1行に1つのURLを書いたURL.txtを作成します。
テキストファイルをドラッグ&ドロップしてダウンロードするバッチファイルもあります。

フォーマット一覧を表示
-F URL
以下のようなフォーマット一覧を表示します。
一番左のIDの数字を-fで指定します。
-f 137
動画と音声を結合する場合は+で繋ぎます。
-f 137+140
複数のフォーマットをダウンロードする場合は,で区切ります。
-f 137,136,134
拡張子が同じだとファイル名が同じになってしまうので、以下のようにファイル名にIDの数字を入れた方がいいと思います。
-o "%(title)s.f%(format_id)s.%(ext)s"
Windowsのバッチファイルの場合は%を2つにします。
フォーマット一覧の表示と選択を一括で処理できるバッチファイルもあります。

時間指定
--download-sections "*1:00-2:00"
この場合は開始1分から2分までがダウンロードされます。
複数の時間範囲をダウンロードする場合は--download-sectionsを複数指定します。
--download-sections "*1:00-2:00" --download-sections "*3:00-4:00"
その場合は以下のようにファイル名に開始時間と終了時間を入れた方がいいと思います。
-o "%(title)s.%(section_start)s-%(section_end)s.%(ext)s"
Windowsのバッチファイルの場合は%を2つにします。
カット位置の映像が乱れる場合は以下のオプションを使います。再エンコードが必要になるので処理は遅くなります。
--force-keyframes-at-cuts
複数の時間範囲の指定に対応しているバッチファイルもあります。

高速化
-N 3
並列ダウンロード数を指定します。上げ過ぎるとBot判定されるリスクがある上に逆に遅くなります。
サムネイルを埋め込む
--embed-thumbnail
メタデータを埋め込む
動画の説明やチャプターを埋め込みます。
--embed-metadata
字幕を埋め込む
--embed-subs --sub-langs ja
--sub-langsで言語を指定します。この場合は日本語です。
ファイル名の変更
デフォルトは「タイトル [ID].拡張子」ですが、以下のようにすると「タイトル.拡張子」になります。
-o "%(title)s.%(ext)s"
Windowsのバッチファイルの場合は%を2つにします。
それ以外はこちらの記事を参考にしてください。
出力先の変更
-P "フォルダパス"


コメント