GitHub公式リリースにより、yt-dlpはYouTube完全対応のために外部JavaScriptランタイムを必須化した。
Python単体で完結していた時代は終わり、Denoを中心とした“マルチランタイム時代”が幕を開ける。
概要:yt-dlp 2025.11.12 リリース
GitHub Issue #15012 による公式アナウンスでは、
YouTube対応の完全サポートには外部JavaScriptランタイムが必須となったことが正式に明言されました。
変更点(公式文より要約)
- 対象バージョン:yt-dlp 2025.11.12
- 主旨: “yt-dlp will now require an external JavaScript runtime (e.g. Deno) for full YouTube support.”
- サポートされるランタイム(推奨順)
- Deno ≥ 2.0.0(推奨)
- Node.js ≥ 20
- QuickJS ≥ 2023-12-9
- QuickJS-ng(非推奨)
- Bun ≥ 1.0.31
- Denoのみデフォルトで有効化済み。
他のランタイム(Node / Bun / QuickJS)はセキュリティ上の理由でデフォルト無効。 - 補助モジュール:
yt-dlp-ejsが新設され、外部JSランタイムとの橋渡しを担う。- 公式バイナリおよび
pip install yt-dlp[default]に同梱済み。 - これを含まないビルドではYouTubeサポートが制限される。
- 公式バイナリおよび
- 旧方式(Python内部Interpreter)は非推奨(deprecated)。
- まだ動作するが、取得できるフォーマットが大幅に制限される。
- 今後は完全に利用不能になる見込み。
実行例
# Denoを導入
winget install --id=DenoLand.Deno
# yt-dlpを最新化
python -m pip install -U yt-dlp
# Denoを指定して実行
yt-dlp --use-deno https://www.youtube.com/watch?v=xxxx
補足(パッケージメンテナ向け)
yt-dlp-ejsは MIT / ISC ライセンスコードを含むため、別パッケージとして分離。- 各ディストリビューションでは
yt-dlpとyt-dlp-ejsを別管理推奨。 - 今後、YouTube以外のサイトでも同構成が拡張される可能性あり。
→ yt-dlp に関する記事

yt-dlp
「yt-dlp」の記事一覧です。

