yt-dlpの導入はこちらの記事を参考にしてください。
解像度を指定
-f "bv*[height<=?1080]+ba/b[height<=?1080]"
1080p以下がダウンロードされます。
プレイリストをダウンロードしない
--no-playlist
再生中の動画のみをダウンロードします。
プレイリストから新しい動画のみをダウンロード
--download-archive archive.txt
プレイリストをダウンロードするとarchive.txtに記録され、2回目以降は新しい動画のみがダウンロードされます。
ライブ配信をダウンロード
--wait-for-video 30-90 --live-from-start
YouTube、Twitch、TVerに対応しています。
配信が始まっていない場合は待機状態になります。既に始まっている場合は最初からダウンロードされます。
--wait-for-videoは配信が始まったかどうかを何秒ごとにチェックするかを指定します。短いとBot判定されることがあるため長めがおすすめです。長めに設定したとしても--live-from-startで最初からダウンロードできるので問題ありません。
範囲を指定するとランダムな秒数でチェックするのでBot判定されにくくなります。正確には開始時間までは最大値固定、開始時間になると始まるまでランダムになります。
ログインが必要な動画のダウンロード
年齢制限動画や会員限定動画をダウンロードする方法です。
Cookieを利用する方法
YouTubeなど
--cookies-from-browser firefox
ブラウザ名を指定します。指定したブラウザでログインして再生できるか確認したら、ブラウザを終了しておきます。
chromeやedgeも指定できますがCookieの読み込みに失敗するかもしれません。Firefoxがおすすめです。
ブラウザ拡張機能の「Get cookies.txt LOCALLY」を使う方法もあります。こちらの記事を参考にしてください。
メールアドレスとパスワードを使用する方法
ABEMAなど
-u メールアドレス -p パスワード
複数のURLをダウンロード
1行に1つのURLを書いたテキストファイルを作成します。
先頭に#を付けるとコメント扱いになります。
-aに指定します。
-a URL.txt
関連:yt-dlpで複数のURLをダウンロードするバッチファイル
フォーマット一覧からダウンロード
以下のようなフォーマット一覧を表示して、ダウンロードしたいものを選択できます。

関連:yt-dlpでフォーマット一覧からダウンロードするバッチファイル
時間指定してダウンロード
--download-sections "*1:00-2:00"
この場合は開始1分から2分までがダウンロードされます。
「10」は10秒、「1:00」は1分、「1:1:10」は1時間1分10秒になります。
終了時間に「inf」を指定すると動画の最後までダウンロードします。
複数の時間範囲を指定する場合は--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"
ファイル名に開始時間と終了時間を入れています。
カット位置の映像が乱れる場合は以下のオプションを使います。
--force-keyframes-at-cuts
再エンコードが必要になるので処理は遅くなります。
関連:yt-dlpで時間指定してダウンロードするバッチファイル
高速化
-N 3
並列ダウンロード数を指定します。上げ過ぎるとBot判定されるリスクがある上に逆に遅くなります。
待機時間を設定
--sleep-interval 30 --max-sleep-interval 60
ダウンロードの間に待機する秒数を指定します。この場合は30~60秒のランダムになります。
プレイリストをダウンロードする場合にBot判定されないようにするための対策です。
メタデータを埋め込む
動画の説明やチャプターを埋め込みます。
--embed-metadata
字幕を埋め込む
--embed-subs --sub-langs ja
--sub-langsで言語を指定します。この場合は日本語です。


コメント