高機能な動画ダウンロードツールです。
YouTube、ニコニコ動画、ABEMA、TVerなど1000以上のサイトに対応しています。
youtube-dlの派生版です。
ダウンロード
yt-dlp
GitHubからyt-dlp.exeをダウンロードします。
FFmpeg
動画と音声を結合したり、様々な後処理に使います。
GitHubからffmpeg-master-latest-win64-gpl.zipをダウンロードします。
解凍して「bin」フォルダにあるffmpeg.exeとffprobe.exeをyt-dlp.exeと同じフォルダに入れます。
Deno
YouTubeのダウンロードに必要なJavaScriptランタイムです。
GitHubからdeno-x86_64-pc-windows-msvc.zipをダウンロードします。
解凍してdeno.exeをyt-dlp.exeと同じフォルダに入れます。
使い方
コマンドプロンプトで以下のように実行します。
yt-dlp.exeのパス 動画のURL
しかし毎回パスを入力するのは面倒だと思うので、バッチファイルがおすすめです。
以下を拡張子を.batにして保存して、yt-dlp.exeと同じフォルダに入れます。
@echo off cd /d %~dp0 set OPTIONS= set /p URL=URL: yt-dlp.exe %OPTIONS% "%URL%"
バッチファイルをダブルクリックするとコマンドプロンプトが起動します。
動画のURLを貼り付けてEnterを押すとダウンロードが始まります。
終わるとコマンドプロンプトが終了します。
出力先はバッチファイルと同じフォルダです。
コマンドプロンプトを終了したくない場合はバッチファイルの一番下にpauseを書いてください。
オプション
set OPTIONS=の後に書いてください。
mp4をダウンロード
できるだけmp4をダウンロードする設定です。
-f "bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] / bv*+ba/b"
YouTubeだと動画コーデックが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
YouTube、Twitch、TVerに対応しています。
配信が始まっていない場合は待機状態になります。既に始まっている場合は最初からダウンロードされます。
--wait-for-videoは配信が始まったかどうかを何秒ごとにチェックするかを指定します。短いとBot判定されることがあるため長めがおすすめです。長めに設定したとしても--live-from-startで最初からダウンロードできるので問題ありません。
範囲を指定するとランダムな秒数でチェックするのでBot判定されにくくなります。正確には開始時間までは最大値固定、開始時間になると始まるまでランダムになります。
ログインが必要な動画のダウンロード
クッキーを利用する方法
YouTubeなど
--cookies-from-browser firefox
ブラウザ名を指定します。指定したブラウザでログインして再生できるか確認したら、ブラウザを終了しておきます。
chromeやedgeも指定できますがクッキーの読み込みに失敗するかもしれません。Firefoxがおすすめです。
メールアドレスとパスワードを使用する方法
ABEMAなど
-u メールアドレス -p パスワード
高速化
-N 3
並列ダウンロード数を指定します。上げ過ぎるとBot判定されるリスクがある上に逆に遅くなります。
サムネイルを埋め込む
--embed-thumbnail
メタデータを埋め込む
動画の説明やチャプターを埋め込みます。
--embed-metadata
字幕を埋め込む
--embed-subs --sub-langs ja
--sub-langsで言語を指定します。この場合は日本語です。
ファイル名の変更
デフォルトは「タイトル [ID].拡張子」ですが、以下のようにすると「タイトル.拡張子」になります。
-o "%%(title)s.%%(ext)s"
それ以外はこちらの記事を参考にしてください。
出力先の変更
-P "フォルダパス"
複数のURLをダウンロード
URLを書いたテキストファイルをドラッグ&ドロップしてダウンロードするバッチファイルです。
--download-archiveのように同じURLを何回も指定する場合にも便利です。
バッチファイルをダブルクリックした場合は通常のダウンロードになるので、1つのバッチファイルで済みます。

フォーマット一覧からダウンロード
以下のようなフォーマット一覧を表示して、ダウンロードしたいものを選択できるバッチファイルです。

時間指定してダウンロード
ダウンロードしたい部分を切り抜くことができるバッチファイルです。
複数の時間範囲の指定に対応しています。

高機能ダウンロードバッチ
フォーマット選択、時間指定、複数URL処理ができるバッチファイルです。

アップデート
以下のように書いたバッチファイルをyt-dlp.exeと同じフォルダに入れます。
@echo off cd /d %~dp0 yt-dlp.exe -U deno.exe upgrade
バッチファイルをダブルクリックすればyt-dlpとDenoがアップデートされます。
注意事項
一度に大量の動画をダウンロードするのは避けましょう。
YouTubeなどの動画配信サイトは、短時間に大量のアクセスがあると負荷軽減のために制限をかけます。
一時的にダウンロードができなくなったり、最悪の場合はBANされ、二度とダウンロードできなくなるかもしれません。
クッキーを利用する場合はアカウントがBANされるリスクもあるため、不必要にクッキーは利用しない、メインのアカウントは使わないことをおすすめします。
エラーの対処法





コメント
>sf tht様
ご返信、ありがとうございます。
この度はお騒がせしてしまい申し訳ありません。
カレントディレクトリにてファイルの存在を確認しました。
とても助かりました。本当に感謝です。
これからもサイトの更新を楽しみにしておりますね。
はじめまして。
youtube-dlのコマンドについてさまよっていたらこちらにたどり着きました。
質問なのですが、bestvideoとbestaudioを指定してダウンロードした場合は映像と音声が別ファイルになりますよね?
そのファイルをffmpegで結合しようとしているのですが、ハードウェアエンコード(nvenc)で処理するための引数はわかりますでしょうか?
ぜひ教えていただけると嬉しいです。