1. yt-dlp を入れる
winget は Windows 10 と 11 に最初から入っていて、PATH の面倒も見てくれます。手作業で入れるときに間違えるのは、まさにそこです。
winget install yt-dlp.yt-dlp
すでに Scoop か Chocolatey を使っているなら、どちらでも同じように問題ありません:
scoop install yt-dlp choco install yt-dlp
手動でやるなら、公式リリースページから yt-dlp.exe を一つ取ってくるだけです。PATH の通ったフォルダに置いてください。デスクトップに置いた場合、たまたまターミナルがそのフォルダにいる間しか動きません。「yt-dlp is not recognized」の典型的な原因がこれです。
2. ffmpeg を入れる
yt-dlp は ffmpeg なしでもダウンロードはできますが、面白いことはすべて ffmpeg を必要とします。分かれた映像と音声の結合、MP3 の抽出、字幕やサムネイルの埋め込み、区間の切り出し。最初の分かりにくい失敗を見てからではなく、いま入れておいてください。
winget install Gyan.FFmpeg
3. うまくいったか確認する
新しいターミナルを開いて(開いたままのものは古い PATH のままです)、実行します:
yt-dlp --version ffmpeg -version
バージョン番号が二つ出れば完了です。
Windows でのクォート
PowerShell と cmd は bash と同じようにはクォートしません。Linux 向けの解説からコピーしたコマンドが壊れる理由は、たいていこれです。PowerShell ではシングルクォートが文字どおりに扱われるので、フォーマットセレクターや出力テンプレートにはこれが最も安全です。cmd ではダブルクォートを使います。.bat ファイルでは % をすべて二重にします。
yt-dlp -o '%(title)s.%(ext)s' URL # PowerShell yt-dlp -o "%(title)s.%(ext)s" URL # cmd yt-dlp -o "%%(title)s.%%(ext)s" URL # inside a .bat file
ジェネレーターのシェル切り替えは、それぞれに合った形を出力します。書き換えずにそのままコピーできます。
更新
単体の yt-dlp.exe は yt-dlp -U で自分自身を更新します。winget、Scoop、Chocolatey で入れた場合は同じツールで更新してください。ファイルの持ち主はパッケージマネージャーなので、自己更新は拒否されます。