yt-dlpの使い方

コマンドラインで操作する非常に高機能な無料の動画ダウンロードツールです。
かつて定番だったyoutube-dlの開発が停滞したため、機能を強化・改善する形で生まれた派生版です。
YouTube、ニコニコ動画、ABEMA、TVerなど1,000以上のサイトに対応しています。

DRM保護された動画はダウンロードできないため、Amazon Prime Video、Netflix、U-NEXTなどには対応していません。

違法にアップロードされた動画と知りながらダウンロードする行為は私的利用目的であっても違法です。公式動画や、権利的に問題のない動画でのみ使用してください。
YouTubeなどの動画配信サイトは、規約によって公式が認めた方法以外での動画ダウンロードを禁止している場合があります。ツールの使用はすべて自己責任で行ってください。
スポンサーリンク
スポンサーリンク

ダウンロード

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のどれかです。

音質を指定することもできます。

-x --audio-format mp3 --audio-quality 0

範囲は0~10で0が最高音質です。デフォルトは5です。

128Kのようにビットレートを指定することもできます。

プレイリストをダウンロードしない

--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がおすすめです。

メールアドレスとパスワードを使用する方法

ABEMAなど

-u メールアドレス -p パスワード

高速化

-N 3

並列ダウンロード数を指定します。上げ過ぎるとBot判定されるリスクがある上に逆に遅くなります。

待機時間を設定

--sleep-interval 30 --max-sleep-interval 60

ダウンロードの間に待機する秒数を指定します。この場合は30~60秒のランダムになります。

プレイリストをダウンロードする場合に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つのバッチファイルで済みます。

yt-dlpで複数のURLをダウンロードするバッチファイル
yt-dlpの導入はこちらの記事を参考にしてください。バッチファイル拡張子を.batにして保存して、yt-dlp.exeと同じフォルダに入れます。@echo offcd /d %~dp0set OPTIONS=if not "%~1" ==...

フォーマット一覧からダウンロード

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

yt-dlpでフォーマット一覧からダウンロードするバッチファイル
yt-dlpの導入はこちらの記事を参考にしてください。バッチファイル拡張子を.batにして保存して、yt-dlp.exeと同じフォルダに入れます。@echo offcd /d %~dp0set OPTIONS=set /p URL=URL:...

時間指定してダウンロード

ダウンロードしたい部分を切り抜くことができるバッチファイルです。

複数の時間範囲の指定に対応しています。

yt-dlpで時間指定してダウンロードするバッチファイル
yt-dlpの導入はこちらの記事を参考にしてください。バッチファイル拡張子を.batにして保存して、yt-dlp.exeと同じフォルダに入れます。@echo offcd /d %~dp0set OPTIONS=set /p URL=URL:...

高機能ダウンロードバッチ

フォーマット選択、時間指定、複数URL処理ができるバッチファイルです。

yt-dlpの高機能ダウンロードバッチ
フォーマット選択、時間指定、複数URL処理ができるバッチファイルです。yt-dlpの導入はこちらの記事を参考にしてください。バッチファイル拡張子を.batにして保存して、yt-dlp.exeと同じフォルダに入れます。@echo offcd ...

アップデート

以下のように書いたバッチファイルをyt-dlp.exeと同じフォルダに入れます。

@echo off
cd /d %~dp0

yt-dlp.exe -U
deno.exe upgrade

バッチファイルをダブルクリックすればyt-dlpとDenoがアップデートされます。

注意事項

一度に大量の動画をダウンロードするのは避けましょう。
YouTubeなどの動画配信サイトは、短時間に大量のアクセスがあると負荷軽減のために制限をかけます。
一時的にダウンロードができなくなったり、最悪の場合はBANされ、二度とダウンロードできなくなるかもしれません。

Cookieを利用する場合はアカウントがBANされるリスクもあるため、不必要にCookieは利用しない、メインのアカウントは使わないことをおすすめします。

エラーの対処法

yt-dlpのエラーの対処法
エラーでダウンロードできない場合の対処法です。ffmpeg not found.低解像度の動画がダウンロードされたり、動画と音声が別々に保存されたりします。FFmpegをインストールしてあるか確認してください。インストールしてない場合はGi...

公式ドキュメント

https://github.com/yt-dlp/yt-dlp/blob/master/README.md

GUI操作

ytdlp-interfaceがおすすめです。

ytdlp-interfaceの使い方
yt-dlpをGUI操作できるソフトです。ダウンロードGitHubからytdlp-interface.7zをダウンロードします。解凍して適当なフォルダに入れます。使い方ytdlp-interface.exeを起動します。動画のURLをコピー...

コメント

  1. ハナコ より:

    >sf tht様
    ご返信、ありがとうございます。
    この度はお騒がせしてしまい申し訳ありません。
    カレントディレクトリにてファイルの存在を確認しました。
    とても助かりました。本当に感謝です。

    これからもサイトの更新を楽しみにしておりますね。

  2. のり より:

    はじめまして。
    youtube-dlのコマンドについてさまよっていたらこちらにたどり着きました。
    質問なのですが、bestvideoとbestaudioを指定してダウンロードした場合は映像と音声が別ファイルになりますよね?
    そのファイルをffmpegで結合しようとしているのですが、ハードウェアエンコード(nvenc)で処理するための引数はわかりますでしょうか?
    ぜひ教えていただけると嬉しいです。

タイトルとURLをコピーしました