yt-dlp・YouTube・macOS
yt-dlpで高画質動画がダウンロードできなくなった時の対処法
yt-dlpは、YouTubeをはじめとする多数の動画・音声配信サイトに対応したコマンドライン型のダウンロードツールです。本記事では、yt-dlpの概要、Windows・macOS・Linuxへのインストール方法、基本的な使い方を説明したうえで、以前は高画質で保存できていた動画が360pなどの低画質になった場合の対処法を、実際の例をもとに解説します。
高画質指定の書き方が間違っているとは限りません。yt-dlpが古い場合や、YouTubeの処理に必要なJavaScript実行環境がない場合は、高画質の映像形式そのものが一覧に表示されないことがあります。
yt-dlpとは
yt-dlpは、Web上で配信されている動画や音声を、ターミナルまたはコマンドプロンプトから保存するためのオープンソースソフトウェアです。youtube-dlから派生して開発されており、YouTube以外にも多数の配信サイトに対応しています。
ブラウザで操作する一般的なダウンロードソフトとは異なり、画面上のボタンではなく、次のようなコマンドを入力して使用します。
yt-dlp "動画のURL"
コマンドライン型ですが、基本的な操作はURLを貼り付けるだけです。慣れると、画質の指定、音声のみの保存、複数動画の一括処理、保存ファイル名の変更などを細かく設定できます。
| 主な機能 | できること |
|---|---|
| 動画の保存 | URLを指定して動画をダウンロードする |
| 画質の選択 | 720p、1080p、4Kなど、利用可能な形式から選択する |
| 映像と音声の結合 | 別々に配信されている高画質映像と音声をFFmpegで結合する |
| 音声のみ保存 | 動画から音声を抽出し、MP3やM4Aなどで保存する |
| プレイリスト処理 | 複数の動画をまとめて保存する |
| ファイル名の指定 | 動画タイトル、投稿者名、公開日などを組み合わせて命名する |
一緒に用意しておきたいFFmpegとDeno
yt-dlp単体でも保存できる動画はありますが、現在のYouTubeで高画質動画を扱う場合は、FFmpegとDenoも用意しておくのがおすすめです。
FFmpegの役割
YouTubeの720pや1080p以上の形式では、映像と音声が別々に配信されることがあります。FFmpegがあれば、yt-dlpが取得した映像と音声を自動的に1つの動画ファイルへ結合できます。
また、音声の抽出やファイル形式の変換にも使用されます。
Denoの役割
DenoはJavaScriptの実行環境です。YouTube側の処理方法が変わった影響により、現在のyt-dlpでは一部の動画形式を取得するためにJavaScript実行環境が必要になる場合があります。
Denoがないと、次のような警告が表示され、高画質形式が一覧に出てこないことがあります。
WARNING: No supported JavaScript runtime could be found.
Some formats may be missing.
yt-dlpではDenoが標準的な選択肢として案内されており、PATHが通っていれば通常は自動的に認識されます。
Windowsへのインストール
Windowsでは、公式配布のyt-dlp.exeを利用する方法が分かりやすいです。
- yt-dlp公式GitHubのReleasesページを開く
- 最新リリースの
yt-dlp.exeをダウンロードする - 任意のフォルダに保存する
- 同じフォルダでターミナルを開いて実行する
たとえば、次のフォルダを作成して関連ファイルをまとめておくと管理しやすくなります。
C:\Users\ユーザー名\bin
yt-dlp.exeを保存したフォルダをエクスプローラーで開き、アドレスバーへcmdと入力してEnterキーを押すと、その場所でコマンドプロンプトを開けます。
動作確認は次のコマンドです。
yt-dlp.exe --version
WindowsへFFmpegを追加する
FFmpegのWindows版を入手し、展開したフォルダ内にあるffmpeg.exeとffprobe.exeを、yt-dlp.exeと同じフォルダへ置く方法が簡単です。
同じフォルダに置いた状態で、次のコマンドを確認します。
ffmpeg -version
WindowsへDenoを追加する
Windows Package Managerが利用できる場合は、PowerShellまたはターミナルで次のように導入できます。
winget install DenoLand.Deno
導入後はターミナルを開き直し、確認します。
deno --version
yt-dlp.exeのあるフォルダへ移動したくない場合は、そのフォルダをWindowsの環境変数PATHへ追加します。PATHへ追加すると、別のフォルダからもyt-dlpと入力して実行できます。
macOSへのインストール
macOSでは、Homebrewまたはpipxを使う方法が便利です。すでにHomebrewを利用している場合は、yt-dlp、FFmpeg、Denoをまとめて管理できます。
Homebrewで導入する方法
brew install yt-dlp
brew install ffmpeg
brew install deno
インストール後に確認します。
yt-dlp --version
ffmpeg -version
deno --version
更新するときは次のコマンドです。
brew update
brew upgrade yt-dlp
brew upgrade ffmpeg
brew upgrade deno
pipxでyt-dlpを導入する方法
Python製のコマンドラインツールを個別の仮想環境で管理したい場合は、pipxを利用できます。
brew install pipx
pipx ensurepath
pipx install "yt-dlp[default]"
pipx ensurepathの実行後は、ターミナルをいったん閉じて開き直します。
更新は次のコマンドです。
pipx upgrade yt-dlp
Linuxへのインストール
Linuxではディストリビューションのパッケージ管理機能も使えますが、配布されるyt-dlpのバージョンが古いことがあります。ここでは、比較的新しい版を管理しやすいpipxを使う方法を中心に説明します。
Ubuntu・Debian系でpipxを使う
sudo apt update
sudo apt install pipx ffmpeg
pipx ensurepath
pipx install "yt-dlp[default]"
ターミナルを開き直した後、確認します。
yt-dlp --version
ffmpeg -version
yt-dlpの更新は次のコマンドです。
pipx upgrade yt-dlp
Denoを導入する
Denoはディストリビューションのパッケージ管理機能、Homebrew for Linux、または公式のインストール方法で導入できます。Homebrewを利用している場合は次のコマンドです。
brew install deno
導入後に確認します。
deno --version
Arch Linuxの場合
Arch Linuxでは公式リポジトリから導入できます。
sudo pacman -Syu yt-dlp ffmpeg
sudo apt install yt-dlpを使用する方法もあります。ただし、リポジトリの版が古く、YouTubeの仕様変更へ追いついていない場合があります。高画質形式が取得できないときは、まずyt-dlp --versionを確認してください。
yt-dlpの基本的な使い方
動画を通常どおり保存する
yt-dlp "動画のURL"
WindowsでPATHを設定していない場合は、yt-dlp.exeのあるフォルダで次のように実行します。
yt-dlp.exe "動画のURL"
利用可能な画質と形式を確認する
yt-dlp -F "動画のURL"
利用できる最高画質を保存する
yt-dlp -f "bv*+ba/b" --merge-output-format mp4 "動画のURL"
1080p以下で保存する
yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" --merge-output-format mp4 "動画のURL"
保存ファイル名を指定する
yt-dlp -o "%(title)s.%(ext)s" "動画のURL"
公開日とタイトルを組み合わせる場合は、次のように指定できます。
yt-dlp -o "%(upload_date)s_%(title)s.%(ext)s" "動画のURL"
保存先フォルダを指定する
macOS・Linuxの例です。
yt-dlp -P "~/Downloads/yt-dlp" "動画のURL"
Windowsの例です。
yt-dlp -P "C:\Users\ユーザー名\Downloads\yt-dlp" "動画のURL"
音声のみを保存する
MP3として保存する場合はFFmpegが必要です。
yt-dlp -x --audio-format mp3 "動画のURL"
元の音声形式に近い状態で保存したい場合は、次のように音声のみを選択できます。
yt-dlp -f "ba" "動画のURL"
プレイリストから1本だけ保存する
URLにプレイリスト情報が含まれていても、その動画だけを保存したい場合は--no-playlistを付けます。
yt-dlp --no-playlist "動画のURL"
ヘルプを表示する
yt-dlp --help
&などの記号が含まれることがあります。ターミナルで記号が別の意味に解釈されないよう、動画URLは原則としてダブルクォーテーションで囲みます。
発生した症状
通常どおり、次のコマンドで動画をダウンロードしました。
yt-dlp "https://www.youtube.com/watch?v=動画ID"
しかし、保存された動画が低画質になっていました。
そこで、yt-dlp、FFmpeg、利用可能な動画形式を確認しました。
yt-dlp --version
ffmpeg -version
yt-dlp -F "https://www.youtube.com/watch?v=動画ID"
実際の確認結果では、yt-dlpとFFmpegは起動しましたが、動画形式の一覧には次の360p形式しか表示されませんでした。
ID EXT RESOLUTION FPS CH
18 mp4 640x360 24 2 360p
bestvideo+bestaudioを指定しても1080pにはなりません。yt-dlpから見えている最高画質自体が360pだからです。
利用可能な画質を確認する
まず、対象動画でyt-dlpが認識している映像・音声形式を確認します。
yt-dlp -F "動画のURL"
-Fは大文字です。利用できる形式が一覧で表示されます。
| 表示項目 | 意味 |
|---|---|
| ID | 映像形式または音声形式を指定するための番号 |
| EXT | mp4、m4a、webmなどのファイル形式 |
| RESOLUTION | 256×144、1280×720、1920×1080などの解像度 |
| VCODEC | 映像コーデック。video onlyと表示される形式は音声を含まない |
| ACODEC | 音声コーデック。audio onlyと表示される形式は映像を含まない |
720pや1080pでは、映像と音声が別々に配信されていることが一般的です。そのため、高画質で保存するにはFFmpegで両者を結合します。
低画質しか表示されない主な原因
今回の確認時には、次の警告が表示されていました。
WARNING: Your yt-dlp version is older than 90 days!
WARNING: No supported JavaScript runtime could be found.
Some formats may be missing.
この場合、主に次の原因が考えられます。
- yt-dlpのバージョンが古い
- YouTubeの仕様変更に現在のyt-dlpが対応できていない
- DenoなどのJavaScript実行環境が導入されていない
- YouTube側の配信方式により、一部形式のURLを取得できていない
- FFmpegがなく、映像と音声を結合できない
今回の環境ではFFmpegは正常に動作していました。問題は、古いyt-dlpとJavaScript実行環境の不足によって、高画質形式が一覧に現れていなかったことでした。
yt-dlpを更新する
最初に、現在使用されているyt-dlpのバージョンを確認します。
yt-dlp --version
yt-dlpをpipxでインストールしている場合は、次のコマンドで更新します。
pipx upgrade yt-dlp
更新後、もう一度バージョンを確認します。
yt-dlp --version
実際の例では、古いバージョンから更新した後、次のように最新版であることが確認できました。
yt-dlp is already at latest version 2026.7.4
pipxで正常に更新できない場合は、入れ直す方法もあります。
pipx uninstall yt-dlp
pipx install "yt-dlp[default]"
which yt-dlpで場所を確認します。
which yt-dlp
pipx list
brew list --formula | grep yt-dlp
Denoをインストールする
新しいyt-dlpでは、YouTubeの一部処理にJavaScript実行環境を利用します。macOSでHomebrewを使用している場合は、Denoを次のコマンドで導入できます。
brew install deno
Homebrewの更新状況によっては、依存パッケージの更新確認が表示されます。
Do you want to proceed with the installation? [y/n]
続行する場合は、半角のyだけを入力してEnterキーを押します。
y
インストールが完了したら、次のコマンドで確認します。
deno --version
バージョン情報が表示されれば導入完了です。
deno --versionを入力すると、それはシェルのコマンドではなく、Homebrewの質問に対する回答として処理されます。確認画面ではまずyを入力し、インストール終了後にdeno --versionを実行します。
高画質形式が復活したか確認する
yt-dlpの更新とDenoの導入後、もう一度形式一覧を確認します。
yt-dlp -F "https://www.youtube.com/watch?v=動画ID"
正常に取得できるようになると、次のように音声専用形式、720p、1080pなどが表示されます。
ID EXT RESOLUTION MORE INFO
140 m4a audio only medium
251 webm audio only medium
134 mp4 640x360 video only
136 mp4 1280x720 video only
137 mp4 1920x1080 video only
この例では、次の組み合わせが利用できます。
| ID | 内容 | 用途 |
|---|---|---|
| 137 | 1920×1080のMP4映像 | 1080pの映像。音声は含まない |
| 136 | 1280×720のMP4映像 | 720pの映像。音声は含まない |
| 140 | M4A音声 | MP4映像と結合しやすい音声 |
| 18 | 640×360の映像と音声 | 1ファイルで保存できるが低画質 |
高画質でダウンロードする
1080p映像と音声をIDで指定する
形式一覧で映像IDが137、音声IDが140だった場合は、次のように指定します。
yt-dlp -f "137+140" --merge-output-format mp4 "動画のURL"
yt-dlpが映像と音声を別々に取得し、FFmpegを使って1つのMP4ファイルに結合します。
利用可能な最高画質を自動選択する
動画ごとにIDを確認せず、その動画で利用できる最高画質を選びたい場合は、次のコマンドを使います。
yt-dlp -f "bestvideo+bestaudio/best" --merge-output-format mp4 "動画のURL"
より短い指定として、次の書き方も利用できます。
yt-dlp -f "bv*+ba/b" --merge-output-format mp4 "動画のURL"
1080p以下に制限する
4K動画などでファイルが大きくなりすぎるのを避け、最高1080pまでにしたい場合は次のように指定します。
yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" --merge-output-format mp4 "動画のURL"
FFmpegが使えるか確認する
ffmpeg -version
command not foundと表示される場合、macOSではHomebrewから導入できます。
brew install ffmpeg
yt-dlpのキャッシュを削除する
yt-dlpは、動画そのものではなく、署名情報やクライアントIDなどの一部データをキャッシュとして保存することがあります。
yt-dlpを更新してもエラーが解消しない場合や、以前の情報が残っている可能性がある場合は、次のコマンドでキャッシュを削除できます。
yt-dlp --rm-cache-dir
Windowsで公式の実行ファイルを使用し、PATHを設定していない場合は、yt-dlp.exeのあるフォルダで次のように実行します。
yt-dlp.exe --rm-cache-dir
正常に実行されると、yt-dlpが使用しているファイルシステム上のキャッシュが削除されます。動画の保存ファイルや、通常の設定ファイルが削除されるコマンドではありません。
キャッシュを使用せずに実行する
キャッシュを保存・使用せずにyt-dlpを実行したい場合は、--no-cache-dirを付けます。
yt-dlp --no-cache-dir "動画のURL"
これは、そのコマンドの実行時にyt-dlpのファイルシステムキャッシュを無効にする指定です。毎回キャッシュを削除する必要があるという意味ではなく、通常はキャッシュを有効にしたままで問題ありません。
キャッシュ削除で消えないもの
--rm-cache-dirで削除されるのは、yt-dlpが管理しているキャッシュです。次のようなファイルや情報は別に管理されているため、このコマンドでは削除されません。
- ダウンロード済みの動画や音声ファイル
- ダウンロード途中に残った
.partファイル - ブラウザに保存されているCookie
- ダウンロード履歴として指定したアーカイブファイル
- yt-dlpの設定ファイル
- Denoが独自に保存しているキャッシュ
キャッシュを削除しても問題が解消しない場合は、yt-dlpの更新、DenoやFFmpegの確認、利用可能な形式の再確認を行います。
yt-dlp --version
deno --version
ffmpeg -version
yt-dlp -F "動画のURL"
特に高画質形式が表示されない場合は、キャッシュだけでなく、yt-dlpのバージョンやJavaScript実行環境も確認してください。
よくあるつまずき方
最高画質を指定したのに360pになる
bestvideo+bestaudioは、yt-dlpが認識できている形式の中から最高のものを選びます。形式一覧に360pしかなければ、指定を変えても1080pにはなりません。
まず次のコマンドで、720pや1080pが一覧に存在するか確認します。
yt-dlp -F "動画のURL"
Denoを入れたのにcommand not foundと表示される
Homebrewの確認画面でインストールが完了していない可能性があります。もう一度実行し、確認が表示されたらyを入力します。
brew install deno
インストール終了後に確認します。
deno --version
yt-dlpを更新したのに古いままになる
Homebrew版とpipx版など、複数のyt-dlpが入っている可能性があります。
which -a yt-dlp
複数の場所が表示された場合は、PATHで先に見つかったものが実行されます。実際に使っている導入方法に合わせて更新してください。
映像と音声の結合に失敗する
FFmpegの場所とバージョンを確認します。
which ffmpeg
ffmpeg -version
Homebrew版FFmpegの依存関係が壊れている場合は、更新または再インストールを試します。
brew update
brew upgrade
brew reinstall ffmpeg
ffmpeg -version
Homebrewの「outdated formulae」やtapの警告が表示される
Denoのインストール時に、更新可能なパッケージの数や、信頼されていないtapについて警告が表示される場合があります。Denoの導入確認とは別の情報です。内容を確認する必要はありますが、今回の高画質形式取得の問題とは直接関係しない場合があります。
まとめ
- yt-dlpは、動画や音声をコマンドラインから保存するオープンソースツール
- Windowsでは公式EXE、macOSではHomebrew、Linuxではpipxなどで導入できる
- 高画質動画を扱うなら、yt-dlpに加えてFFmpegとDenoも用意する
- 低画質になったら、最初に
yt-dlp -F URLで利用可能な形式を確認する - 360pしか表示されない場合は、高画質指定より先に形式取得の問題を直す
- 古いyt-dlpは、YouTubeの仕様変更によって一部形式を取得できなくなることがある
- pipx版は
pipx upgrade yt-dlpで更新する - JavaScript実行環境が必要な場合は、macOSでは
brew install denoでDenoを導入できる - 1080pなどの高画質は、映像と音声が別形式になっていることがある
- FFmpegを用意し、
bestvideo+bestaudioなどで映像と音声を結合する
公式情報
インストール方法やYouTube側の仕様は変更される可能性があります。コマンドが動作しない場合は、上記の公式情報と最新リリースを確認してください。
利用上の注意
yt-dlpは、利用するサービスの規約、著作権、配信者の権利を確認したうえで使用してください。自分が権利を持つ動画、ダウンロードが許可された動画、私的利用として認められる範囲など、適用されるルールを守る必要があります。
