世界を動かす技術を、日本語で。

Yt-dlp: YouTubeダウンロードの新しい要件について

2025年9月24日原文(github.com)

概要

YouTubeの仕様変更により、yt-dlpでの通常ダウンロードには Deno のインストールが必須となる見込み 従来の 組み込みJavaScriptインタープリタ では対応不可 ユーザーの インストール方法ごと に追加対応が必要 PyInstaller版、PyPI版、zipimport版、サードパーティパッケージ で対応内容が異なる 今後の 変更内容と対応方法 についての解説

YouTubeダウンロード継続利用のためのDeno導入案内

  • YouTube側の大幅な仕様変更 により、yt-dlpの従来のJavaScriptインタープリタでは JSチャレンジの解読が困難 となる
  • 今後は Deno などの本格的なJavaScriptランタイムが 必須要件
  • yt-dlp本体 はDenoを通じてJavaScriptチャレンジを 安全かつ確実に処理

インストール方法別の対応

  • PyInstallerバンドル実行ファイル利用者 (例: yt-dlp.exe, yt-dlp_macos, yt-dlp_linux)
    • Denoのインストールのみ必須
    • JavaScriptコンポーネントは 全て実行ファイルに同梱
  • PyPIパッケージ利用者 (pip, pipx等でインストール)
    • pip install -U "yt-dlp[default]"オプション依存関係含めアップグレード が必要
    • Denoの 別途インストール必須
  • 公式zipimportバイナリ利用者 (yt-dlp Unix実行ファイル)
    • yt-dlp実行時に 追加フラグ でDenoによるnpm依存関係のダウンロードを許可
    • または Python環境にyt-dlp専用JSソルバーパッケージをインストール
    • ※フラグ名・パッケージ名は 近日公開予定
  • サードパーティパッケージ利用者 (pacman, brew等でインストール)
    • 各リポジトリの対応方針に依存
    • 基本的に 公式zipimportバイナリ向けの対応方法を参考に対応可能

今後の注意点

  • Deno未導入の場合、YouTubeからのダウンロードが失敗 する可能性
  • yt-dlpの 公式アナウンスやドキュメントの継続確認 が重要
  • Denoのインストール方法yt-dlpのアップデート手順 についても事前確認推奨

Hackerたちの意見

Denoを選んだのには驚いたけど、Denoは単一の実行ファイルで配布されてるから、いろんな面倒が省けるんだよね。これは時間の問題だったと思う。元々のPythonのインタープリタは素晴らしいハックだったけど、機能には限界があったし。数年前にYouTube-dlプロジェクトについて話題になってたよね。

NodeにはDenoのようなセキュリティや隔離の概念がないんだよね。同じスレッドにメンテナーのコメントもあったよ。

Denoのサンドボックス機能も、その選択に影響を与えたみたいだね。セキュリティレイヤーとしてはあまり信頼できないけど、何もないよりはマシだよね。

私はYouTubeプレミアムの有料会員なんだけど、先週末に何かをダウンロードして電車の中で見ようと思ったんだ。アプリがiPadで「ダウンロード待機中…」で止まっちゃって、iPhoneでも同じだった。再起動してもダメだったし、1時間後に諦めたよ(30分は試行錯誤、30分は放置)。yt-dlpを使って動画をダウンロードして、USB-Cのフラッシュドライブに転送して見た。家族が広告なしで楽しんでるから、「プレミアムは家庭外の人と共有できません」ってポリシーが来るのを待ってる。そしたらやっと解約できる。

YouTube Kidsで広告なしが機能しなくなって解約したよ(ShieldTVで)。多分バグだったんだろうけど、実質的にカスタマーサービスの選択肢がなくて、解決策は解約しかなかった。プレイミュージックの有料会員からの移行組だったし、YouTubeに音楽が移行した直後だったから、もう我慢の限界だった。

さらに面白いのは、YouTubeにアップロードしてからクリエイターダッシュボードからダウンロードしようとすると(例えば、ライブ配信しててローカルコピーを保存するのを忘れたとか、マシンに負担がかかりすぎるとか)、720pのクソみたいな画質しか手に入らないのに、yt-dlpならクライアントが利用できる最高の画質をゲットできるってこと。

私も同じ状況のプレミアムユーザーだよ。デスクトップではuBlock OriginとSponsorblockを使って、テレビではSmartTubeを使ってる。プレミアムにお金を払ってるのは、技術に詳しくない家族と広告なしの体験を共有するためと、彼らのiOSアプリを使うためなんだ。もしプレミアムのファミリーシェアリングのルールが厳しくなったら、すぐにサブスクリプションをやめるよ。

私もYouTubeプレミアムにお金を払ってるけど、自動翻訳を無効にするためにスマホではReVancedを使ってる。公式アプリでこれを設定できないのは本当におかしいよね。

「プレミアムは家庭外の人と共有できません」っていうポリシーを待ってるから、やっとキャンセルできる。 それ、しばらく前からのポリシーだよ。サインアップページには「プランメンバーは同じ家庭にいる必要があります」ってはっきり書いてある。でも、実際に施行されてるかは分からない。

私もプレミアム会員だけど、iPadアプリで同じ問題に悩まされてる。子供のためにいくつかの番組をダウンロードしておきたいんだけど、ダウンロード機能が最初の試みでは全然うまくいかない。もう我慢できなくなって、eBayで50ドルでSamsung Galaxy Tab A7を買って、LineageOSをインストールした。これで、1TBのSDカードに好きなメディアを入れられるようになった。5年前のハードウェアでも、VLCアプリで動画は問題なく再生できるし、ボーナスとして、F-Droidストアからインストールした代替YouTubeクライアントのNewPipeが、公式クライアントよりも動画のダウンロードがずっと信頼できることを発見した。SDカードにデータを入れるためにyt-dlpを使うつもりだったけど、今はそれすら必要ない。

「プレミアムは家庭外の人と共有できません」っていうポリシーを待ってるから、やっとキャンセルできる。 それなら、いいニュースがあるよ! https://lifehacker.com/tech/youtube-family-premium-crackdown 実際、これについてのメールもすでに受け取ってる。私のYTはまだ広告なしだけど、いつ本当に適用されるのかは分からない。

私はプレミアム会員だから、yt-dlpでエラーや警告なしにダウンロードできる。私たちは同じじゃない。

Hacker Newsで議論の続きを見る