yt-dlpでトラブった
Mac M1環境でyt-dlpが突然ダウンロードできなくなり、「Requested format is not available」「n challenge solving failed」が発生したため、Homebrewでyt-dlpを更新して解決した記録です。
はじめに
普段からYouTube動画のダウンロードにyt-dlpを利用している。
これまで問題なく利用できていたのだが、
久しぶりに動画をダウンロードしようとしたところ、突然エラーが発生。
備忘録として、発生したエラー内容と解決方法を残しておく。
実行したコマンド
普段利用しているコマンドはこちら。
yt-dlp \
-f "bestvideo[ext=mp4]+bestaudio[ext=m4a]" \
-S vcodec:h264 \
--merge-output-format mp4 \
--write-thumbnail \
--no-mtime \
-o "/Users/ユーザー名/Downloads/%(title)s.%(ext)s" \
"https://www.youtube.com/watch?v=*******"
このコマンドは、
- H.264形式でダウンロード
- MP4形式に統合
- サムネイルも保存
- ダウンロード先をDownloadsフォルダに指定
という設定になっている。
発生したエラー
実行すると以下のようなエラーが表示されました。
WARNING: Your yt-dlp version (2026.02.04) is older than 90 days!
WARNING: [youtube] n challenge solving failed
ERROR: [youtube] Requested format is not available.
Use --list-formats for a list of available formats
最終的なエラーは
Requested format is not available
でした。
また、その前に
n challenge solving failed
というメッセージも表示されていた。
原因
原因は、yt-dlpのバージョンが古くなっていたようだ。
ログを見ると、
Your yt-dlp version is older than 90 days!
と警告が出ていた。
YouTube側は頻繁に仕様変更を行うため、yt-dlpの更新が追いついていないと動画情報の取得に失敗することがある。
今回はまさにその状態だったぽい。
解決方法
まずHomebrewを更新します。
brew update
続いてyt-dlpをアップグレードします。
brew upgrade yt-dlp
すると途中で以下のような確認画面が表示されます。
Do you want to proceed with the upgrade? [y/n]
ここでは
y
を入力してEnterキーを押します。
するとアップグレードが開始されました。
更新された内容
無能の環境では以下のような更新が行われた。
yt-dlp 2026.2.4 -> 2026.6.9
deno 2.6.10 -> 2.8.3
その他にもPythonやOpenSSLなどの関連パッケージも更新された。
更新後に再実行
アップグレード完了後、再度同じコマンドを実行。
yt-dlp \
-f "bestvideo[ext=mp4]+bestaudio[ext=m4a]" \
-S vcodec:h264 \
--merge-output-format mp4 \
--write-thumbnail \
--no-mtime \
-o "/Users/ユーザー名/Downloads/%(title)s.%(ext)s" \
"https://www.youtube.com/watch?v=*******"
結果は・・・
無事にダウンロード成功!
エラーは完全に解消されたようだ。
今後の対策
今回の経験から、yt-dlpで突然エラーが発生した場合は、まず以下を確認するといいかもしれない。
バージョン確認
yt-dlp --version
Homebrewの更新
brew update
brew upgrade yt-dlp
YouTube側の仕様変更は頻繁に行われるため、数か月使っていない場合は最初に更新を試した方が早そう。
まとめ
今回のエラーはYouTube側の仕様変更に対して、yt-dlpのバージョンが古くなっていたことが原因だった。
解決方法は非常にシンプルで、
brew update
brew upgrade yt-dlp
を実行するだけだった。
もし同じように
Requested format is not available
や
n challenge solving failed
というエラーが出た場合は、まずyt-dlpの更新を試してみることをおすすめする。
というわけでここに備忘録として残しておく。






