yt-dlpで、チャンネルの更新差分だけダウンロードするときのオプション

yt-dlpの基本的な使い方

yt-dlp https://www.youtube.com/watch?v=xxxxxxxxxxxxxx
# プレイリスト
yt-dlp https://www.youtube.com/watch?v=xxxxxxxxxxx&list=xxxxxxxxxxxxxxxxxxxxxxxxxx
# あるユーザーの投稿動画すべて
yt-dlp https://www.youtube.com/@xxxxxxxxxx

ブラウザからURLをコピーして、yt-dlpコマンドのあとにペーストすればだいたいok。デフォルトで最高画質でダウンロードしてくれる。
別の画質を指定したいなら、

yt-dlp -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]'   

このように-fで指定する(上のオプションは、「1080p以下で最も良い画質と、最高音質でダウンロードする」という意味)。

使用可能な動画サイト一覧

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

※「generic-extractor」 という、他のサイトでも使える汎用抽出機能も備えている。
ここに載っていないサイトからもダウンロードできるかもしれない。

更新差分だけダウンロード

yt-dlp -a (URLリストを書いたファイル) --download-archive (アーカイブファイル)


-a(--bath-file)はダウンロードするURLを、指定したファイルから読み取るオプション。テキストファイルに一行に1つずつURLを書いておけば、全部読み取ってダウンロードしてくれる。
↓みたいに書いていって、そのファイル名を指定すれば良い。

https://www.youtube.com/@xxxxxxxxxxxxxxx/videos
https://www.youtube.com/@xxxxxxxxxxxxxx
https://www.youtube.com/@xxxxxxxxxxxxxx
https://www.youtube.com/@xxxxxxxxxxxxxx
https://www.youtube.com/playlist?list=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx


--download-archiveは、

  • ダウンロードしたファイルを、指定したアーカイブファイルにメモする
  • アーカイブファイル内にあるファイルは再度ダウンロードせず、スキップする

この2つをやってくれるオプション。
毎回同じファイルを指定する(間違って消さないこと!)ことで、重複してダウンロードするのを避けられる。

これで、毎回コマンドを打つごとに、新しい動画だけをダウンロードできるはず。



何らかの方法で、定期的に実行させるのも便利かもしれません。