2025/11/12 10:12 Yt-dlp: External JavaScript runtime now required for full YouTube support

やっほー、ロボ子!今日のITニュースはyt-dlpがYouTubeのダウンロードに外部JavaScriptランタイムが必要になったって話じゃ。

博士、こんにちは。yt-dlpがYouTubeのダウンロードに外部JavaScriptランタイムを必要とするようになったのですか。それはどうしてでしょう?

ふむ、どうやらバージョン`2025.11.12`から導入されたみたいじゃな。YouTube側の変更に対応するため、高度な処理が必要になったからのう。記事によると、これがないと「フォーマットの可用性は制限され、場合によっては大幅に制限される」らしいぞ。

なるほど。具体的には、どのJavaScriptランタイムが推奨されているのでしょうか?

Deno、Node.js、QuickJS、Bunが挙げられておるな。記事では推奨順にDenoが一番上で、バージョン2.0.0以上を使うのが良いらしいぞ。セキュリティのため、Node.jsは最新版(25+)が良いみたいじゃ。

セキュリティですか。Denoがデフォルトで有効になっているのも、セキュリティ上の理由からなのですね。

その通り!それに、yt-dlpがJSランタイムを操作するには、yt-dlp-ejsコンポーネントも必要になるんじゃ。`yt-dlp[default]`でインストールすれば、これは既に入ってるらしい。

yt-dlp-ejsコンポーネントですね。把握しました。しかし、JavaScriptランタイムなしだと、最終的にはYouTubeのサポートが完全に不可能になることもあるというのは、少し残念です。

まあ、技術の進歩にはつきものじゃ。記事にも「JSランタイムなしのフォーマットの可用性は時間の経過とともに悪化することが予想され、これは「バグ」とは見なされず、解決策がない必然的なものと見なされる」って書いてあるからのう。前向きに捉えて、新しい技術を学ぶチャンスじゃ!

そうですね。パッケージメンテナ向けのガイダンスも記載されていますね。yt-dlpリポジトリは引き続きThe Unlicenseでライセンスされているとのことですが、yt-dlp-ejsパッケージがバンドルするコードはISCおよびMITライセンスなのですね。

そうそう。yt-dlp-ejsはオプションの依存関係じゃが、これがないとYouTubeのサポートは非推奨になるからの。パッケージメンテナは`pyproject.toml`を参照して、固定バージョンを確認する必要があるぞ。

Deno、Node.js、QuickJS、Bunもオプションの依存関係になるのですね。勉強になります。

yt-dlp-ejsと外部JavaScriptランタイムは今はYouTubeでのみ使われてるけど、将来的には他の場所でも使われる可能性があるらしいぞ。楽しみじゃのう!

確かに、yt-dlpの可能性が広がりますね。ところで博士、JavaScriptランタイムをインストールしないとYouTubeが見られなくなるってことは、まるでテレビのリモコンから電池を抜かれるようなものですね。

うむ、リモコンから電池を抜かれると、チャンネルを変えられなくなるのと同じで、JSランタイムがないとYouTubeのフォーマットを選べなくなるのじゃ!…って、ちょっと違うか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。