yt-dlp 2025.11.12:Deno必須化が正式リリース

yt-dlp 2025.11.12:Deno必須化が正式リリース HowTo

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.”
  • サポートされるランタイム(推奨順)
    1. Deno ≥ 2.0.0(推奨)
    2. Node.js ≥ 20
    3. QuickJS ≥ 2023-12-9
    4. QuickJS-ng(非推奨)
    5. 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-dlpyt-dlp-ejs を別管理推奨。
  • 今後、YouTube以外のサイトでも同構成が拡張される可能性あり。

→ yt-dlp に関する記事

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