yt-dlpはYouTubeやニコニコ動画など数多くの配信サイトに対応したメディアダウンローダーです。新たに、yt-dlpでYouTubeの動画をダウンロードするには将来的にDenoなどのJavaScriptランタイムが必要になることが発表されました。
[Announcement] Upcoming new requirements for YouTube downloads · Issue #14404 · yt-dlp/yt-dlp
https://github.com/yt-dlp/yt-dlp/issues/14404
yt-dlpはインターネット上のコンテンツをダウンロードできるコマンドラインツールです。コマンドラインツールといっても基本的なコマンドは「『yt-dlp』の後に続けて動画などの公開URLを入力するだけ」という簡単なもので、かなり簡単に使えます。yt-dlpの詳しい使い方は以下のリンク先で解説しています。
YouTubeやニコニコ動画などのムービーを最高画質・高音質でダウンロード可能な「yt-dlp」の使い方まとめ、年齢制限ムービーも一発ダウンロード可能 – GIGAZINE
yt-dlpはYouTubeやニコニコ動画、X、Vimeoなど数多くの配信サイトに対応しており、配信サイトごとに個別のコンテンツ抽出ツール(extractor)がメンテナンスされています。extractorの開発難度は配信サイトごとに異なり、中でもYouTubeのextractorの開発コストは甚大なものとなっています。
以下はYouTube用extractorのコードの一部です。YouTube用extractorにはコンテンツの抽出に必要な関数を識別するための複雑な正規表現セットが含まれており、YouTube側の変更があるたびに正規表現の書き換えが必要になります。この書き換え作業には「複数のメンテナーが他の作業をすべて中断し2~3日を費やす」という大きなコストをかけているとのこと。
最近のYouTubeのアップデートによって正規表現ベースの対応がコスト面でもセキュリティ面でも困難になってしまいました。加えて、YouTubeでは近い内にコンテンツ参照時にPOトークンの生成が必須となる予定ですが、既存の仕組みではPOトークンへの対応は困難です。このため、開発チームはJavaScriptベースの対応に方針を転換。このJavaScriptコードがyt-dlpに内蔵されたJavaScriptインタープリターでは実行できないほどに複雑なものとなることから、YouTube動画のダウンロードにはDenoなどのJavaScriptランタイムを別途インストールすることが必須となったわけです。
現時点ではDenoだけでなくNode.jsとBunのサポートも明言されていますが、開発チームは「テクノロジーに詳しくないユーザーでも簡単に準備できる」といった理由からDenoの利用を推奨しています。実際に、DenoはWindowsを含む各種OSで1行のコマンドでインストール可能なほか、単一のバイナリを任意の場所に配置するだけでも使えます。
記事作成時点ではDenoなどのJavaScriptランタイムを使用可能にするための開発が進められている段階です。開発チームは準備が整い次第、必要なDenoの最低バージョンなどの詳細情報を公開予定としています。
この記事のタイトルとURLをコピーする
ソース元はコチラ
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。


