「yt-dlp」でYouTubeやTwitchから動画をダウンロードする方法

YouTubeやTwitchなどの動画サイトから映像や音声をダウンロードできる「youtube-dl」をforkしてさらに高機能化させたものが「yt-dlp」です。更新頻度も高く、コマンドラインに抵抗がない方であれば、現存のダウンローダーの中で最も優秀と言っても良いほどのツールです。

この記事では、そんなyt-dlpの導入方法と使い方について解説していきます。

yt-dlpとは

yt-dlpは、youtube-dlが非アクティブになったのをきっかけにforkが行われて開発が始まりました。そのためyt-dlpの開発目的は、元のプロジェクトを最新に保ちながら新しい機能等を追加することです。しかし、現在ではyoutube-dlよりもツールとしての性能は上がっており、例えば動画をダウンロードする際にかかる時間は、現在ではyt-dlpの方が100倍速くなっています。

細かく書く気はありませんが、使い方によってはとても危険なツールです。用途には注意して使用してください。

yt-dlpのダウンロード

yt-dlpのリポジトリからWindwosの場合はyt-dlp.exeをダウンロードします。

ダウンロードしたyt-dlp.exeの保存先はCドライブのユーザーディレクトリ直下(C:\Users\ユーザー名)であれば環境変数の設定なしに動作しています。これ以外の階層に置く場合は環境変数の設定が必要となるかと思います。

環境変数の設定はこちらの記事で解説しています。例として使用するツールは別ですが、手順は同じですのでよろしければ参考にしてください。

FFmpegの導入(オプション)

yt-dlpは単体でも機能しますが、FFmpegを併せて使用することでダウンロード時に映像を除き音声のみをダウンロードしたり、ダウンロード時のフォーマット変換などを行うことができます。

FFmpegの導入はあくまでオプションであるため、不要であれば行う必要はありません。FFmpegを使用するという場合は、下記の記事で導入方法を解説していますのでご利用ください。

yt-dlpの使い方

動画のダウンロード

「cmd」を使用してyt-dlpを使用します。サービスが異なっていてもyt-dlpのコマンドのフォーマットは同じです。

yt-dlp 動画URL
> 例: yt-dlp https://www.youtube.com/watch?v=xxxxxxxxxxx

yt-dlpがサポートしているサービスはリポジトリで確認できます。

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

時間を指定により、動画の一部分のみをダウンロードすることも可能です。下記は動画の10分00秒から20分00秒までを指定。

yt-dlp --download-sections *10:00-20:00 https://www.youtube.com/watch?v=xxxxxxxxxxx

ダウンロードする動画のファイル名と保存先

yt-dlpでダウンロードした動画はデフォルトでは、

  • ファイル名:動画のタイトル+動画ID
  • 保存先:yt-dlpと同じ階層

という形で保存されます。

ダウンロード時のコマンドを以下とすることで、ダウンロードした動画のファイル名を動画タイトル+拡張子にすることができます。

yt-dlp -o "%(title)s.%(ext)s" https://www.youtube.com/watch?v=xxxxxxxxxxx

また、こちらのコマンドでダウンロードした動画のファイル名を変更しつつ、保存先をDドライブ直下に作成したフォルダに変更することができます。

yt-dlp -o "D:\dl\%(title)s.%(ext)s" https://www.youtube.com/watch?v=xxxxxxxxxxx

これらのオプションは、リポジトリのOUTPUT TEMPLATEに記載されています。少し古いですが日本語で解説されている記事(yt-dlp オプション一覧及びそのメモ)もあります。

yt-dlpのアップデート

サービス側の仕様変更に併せてyt-dlpも頻繁に更新されています。突然ダウンロードができなくなったという場合にはサービス側の仕様変更があった可能性もありますので、必要であればアップデートを行って下さい。

yt-dlpを更新するにはcmdで以下のコマンドを実行します。

yt-dlp -U

アップデートが上手くいかない場合は、環境変数のパスが正しく通っていない可能性があります。

yt-dlpをカスタマイズして利便性を向上する

yt-dlpはデフォルトでは動画をダウンロードする度に都度コマンドを叩く必要があり面倒です。そこで、バッチファイルを作成してyt-dlpの利便性を向上します。

yt-dlp.exeと同じ階層にyt-dlp.confdlurl.txtyt-dlp.batファイルを作成します。

yt-dlp.confをメモ帳などのテキストエディタで開き、下記を追加します。

-o "D:\dl\%(title)s.%(ext)s"
-N 3
--no-mtime
--embed-thumbnail
--console-title
-a dlurl.txt
-f bestvideo[ext=mp4]+bestaudio[ext=m4a] -S vcodec:h264
  • -o "D:\dl\%(title)s.%(ext)s"でファイル名と保存先(Dドライブ直下のdlフォルダ)を変更。
  • -N 3で3スレッドで並列ダウンロードを行い高速化。スレッド数は環境やダウンロードする動画の本数に合わせて変更しても良い。
  • --no-mtimeで更新日時をダウンロード日時に変更。デフォルトでは動画の投稿日時がそのまま反映されてしまうため、変更を加えた方が整理しやすい。
  • --embed-thumbnailでサムネイルの埋め込み。
  • --console-titleでコンソールにダウンロード進行状況を表示。
  • -a dlurl.txtdlurl.txtに記載されたURLの動画を指定。
  • -f bestvideo[ext=mp4]+bestaudio[ext=m4a] -S vcodec:h264でフォーマットを「MP4」、コーデックを「H.264」に指定(使用するにはFFmpegが必要)。編集ソフトに読み込むとき、フォーマットは対応しているがコーデックが対応しておらず音声のみが読み込まれないという事態を防ぐため、無難なフォーマットとコーデックを指定してダウンロードした方が後が楽。

dlurl.txtを開き、適当な動画URLを記述して保存します。

yt-dlp.batを開き、yt-dlpと記述して保存します。

これでyt-dlp.batを実行すればバッチが実行され、dlurl.txtに記述されたURLの動画が、yt-dlp.confに記述されたルールに従ってダウンロードされます。

新たに動画をダウンロードする場合はdlurl.txtの中身を変更する必要がありますが、それ以外は既存のままで使用できます。

dlurl.txtに記述されているURLの動画は全てダウンロードされるので、複数動画をまとめてダウンロードしたい場合でも使用できます。

以上です。

コメント

コメントする

※ スパム対策のためコメントは日本語で入力してください。また、コメントは管理者による承認作業が完了次第、コメントエリアに掲載されます。

CAPTCHA