ソフトウェア

yt-dlpでYouTube動画をダウンロードするにはDenoなどのJavaScriptランタイムのインストールが必須になる予定


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.jsBunのサポートも明言されていますが、開発チームは「テクノロジーに詳しくないユーザーでも簡単に準備できる」といった理由からDenoの利用を推奨しています。実際に、DenoはWindowsを含む各種OSで1行のコマンドでインストール可能なほか、単一のバイナリを任意の場所に配置するだけでも使えます。

記事作成時点ではDenoなどのJavaScriptランタイムを使用可能にするための開発が進められている段階です。開発チームは準備が整い次第、必要なDenoの最低バージョンなどの詳細情報を公開予定としています。

この記事のタイトルとURLをコピーする

・関連記事
YouTubeやニコニコ動画などのムービーを最高画質・高音質でダウンロード可能な「yt-dlp」の使い方まとめ、年齢制限ムービーも一発ダウンロード可能 - GIGAZINE

最強YouTubeダウンローダー「yt-dlp」でムービーの指定時間を切り抜きダウンロードする手順 - GIGAZINE

無料でYouTube・ニコニコ動画・Twitter・Instagramなどの動画を一発でダウンロード&MP3に変換などができる「Vividl」、最強ダウンローダー「yt-dlp」内蔵で初心者でも簡単に使える - GIGAZINE

YouTubeやニコニコ動画の動画を簡単にダウンロードできるアプリ「Tartube」レビュー、高機能ダウンローダー「yt-dlp」の機能をマウス操作で使える - GIGAZINE

in ソフトウェア, Posted by log1o_hf

You can read the machine translated English article Downloading YouTube videos with yt-dlp w….