yt-dlpの使い方
yt-dlp の使い方メモ(2025年版)|パソコンお兄さん
[yt-dlp(github)](yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader)
CLIのソフトウェアなので、ターミナル上で操作します
windows
choco install yt-dlp
githubのページからでも可
但しその場合パスが通ってないので通すか、同じディレクトリ内で.\yt-dlp.exeと打つ
yt-dlp [option] [URL]
オプション
update
-U
音声抽出
-x
または
--extract-audio
拡張子を指定するときは、以下のようにオプションを付ける
-x --audio-format [ext]
[ext]には以下のような拡張子が指定できる
- aac
- alac
- flac
- m4a
- mp3
- opus
- vorbis
- wav
プレイリスト一括
-i [URL]
[URL]はプレイリストのURL
(https://www.youtube.com/playlist?list=…)
パス指定
ダウンロードするファイルの名前と場所を指定する
-o ".\hoge\%(uploader)s\%(title)s.%(ext)s"
%(uploader)s:チャンネル名
%(title)s:動画タイトル
%(ext)s:拡張子
有料動画など
メンバー限定の動画などは課金しているアカウントのcookieを取得することでダウンロード可能
以下の拡張機能を使ってcookies.txtを取得
Get cookies.txt LOCALLY - Chrome ウェブストア
youtubeのページでExport All Cookiesを選択

テキストファイルがダウンロードされるのでわかりやすい名前(ここではcookies.txtとする)に変える
カレントディレクトリに持ってきて、以下のように指定
--cookies .\cookies.txt
閲覧権限を持ったcookieはしばらくすると失効するので、エラー吐いたらcookie.txtを再生成する(重複スキップオプションを使うと楽)
音声ファイルのサムネ埋め込み
--embed-thumbnail
サムネも保存
--write-thumbnail
重複スキップ
--download-archive archive.txt
画質指定
yt-dlp.exe -F [URL]
こんなものが出てくる(例)
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27 0 │ mhtml │ images storyboard
sb2 mhtml 80x45 0 │ mhtml │ images storyboard
sb1 mhtml 160x90 0 │ mhtml │ images storyboard
sb0 mhtml 320x180 0 │ mhtml │ images storyboard
139 m4a audio only 2 │ 72.98MiB 49k https │ audio only mp4a.40.5 49k 22k [ja] low, m4a_dash
140 m4a audio only 2 │ 193.70MiB 129k https │ audio only mp4a.40.2 129k 44k [ja] medium, m4a_dash
251 webm audio only 2 │ 191.62MiB 128k https │ audio only opus 128k 48k [ja] medium, webm_dash
91 mp4 256x144 30 │ ~275.37MiB 184k m3u8 │ avc1.4D400C mp4a.40.5 [ja]
160 mp4 256x144 30 │ 91.45MiB 61k https │ avc1.4d400c 61k video only 144p, mp4_dash
93 mp4 640x360 30 │ ~ 1.05GiB 718k m3u8 │ avc1.4D401E mp4a.40.2 [ja]
134 mp4 640x360 30 │ 357.51MiB 239k https │ avc1.4d401e 239k video only 360p, mp4_dash
18 mp4 640x360 30 2 │ 428.71MiB 287k https │ avc1.42001E mp4a.40.2 22k [ja] 360p
300 mp4 1280x720 60 │ ~ 4.02GiB 2751k m3u8 │ avc1.640020 mp4a.40.2 [ja]
298 mp4 1280x720 60 │ 1.67GiB 1142k https │ avc1.640020 1142k video only 720p60, mp4_dash
301 mp4 1920x1080 60 │ ~ 6.93GiB 4745k m3u8 │ avc1.64002A mp4a.40.2 [ja]
299 mp4 1920x1080 60 │ 3.45GiB 2365k https │ avc1.64002a 2365k video only 1080p60, mp4_dash
基本的にはvideo onlyとaudio onlyのデータを組み合わせてダウンロードする
MORE INFOに_dashとついているデータを選ぶ
360pでm4a音声にしたい場合は、IDから134番と140番を選択して、
yt-dlp.exe -f 134+140 [URL]
Deno
youtubeの仕様変更に対応するため、外部JavaScriptランタイムを使った使用に変更するらしい
参考(GIGAZINE)
実際、いくつかの動画では外部JavaScriptランタイムをインストールしないとサーバーから403(権限不足)を返される
[download] Sleeping 5.00 seconds as required by the site...
ERROR: unable to download video data: HTTP Error 403: Forbidden
yt-dlpで推奨されている外部JavaScriptランタイムは"Deno"のようなので、これをインストールする(Denoだ以外だとyt-dlp使用時にランタイムを指定するオプションが必要)
Deno:Installation
irm https://deno.land/install.ps1 | iex
scoopやchocolatey、Wingetでもインストール可能
updateしてDenoを認識させる
yt-dlp -U
標準出力に一瞬だけ[deno]と出る(はず)
あとは普通にyt-dlpを使用するのみで良い
yt-dlpをAndroidアプリにした「Seal」は、おそらく外部JavaScriptランタイムに対応しておらず(2026年1月現在)、ダウンロードできない動画がいくつかある
どうしてもAndroidでダウンロードしたい場合はTermuxやUserLAndを用いる