yt-dlp 使用教程
yt-dlp 是一个功能强大的命令行视频/音频下载工具,支持 YouTube、Bilibili、抖音、小红书等 1800+ 个网站。它是 youtube-dl 的活跃分支,更新更频繁,功能更强大。
一、安装与准备
1. 下载 yt-dlp
Windows 用户:
macOS/Linux 用户:
1 2 3 4 5
| pip install yt-dlp
brew install yt-dlp
|
2. 安装 FFmpeg(必需)
yt-dlp 需要 FFmpeg 来合并音视频、转换格式:
3. 配置环境变量(可选但推荐)
将 yt-dlp 所在文件夹添加到系统 PATH,即可在任何位置使用命令。
二、基础使用
最简单的下载
1 2 3 4 5 6
| yt-dlp "视频URL"
yt-dlp "https://www.youtube.com/watch?v=xxxxx" yt-dlp "https://www.bilibili.com/video/BV1xxxxx"
|
查看可用格式
1 2 3
| yt-dlp -F "视频URL"
yt-dlp --list-formats "视频URL"
|
这会显示所有可用的视频/音频格式及其 ID、分辨率、文件大小等信息。
三、常用下载命令
1. 指定画质下载
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| yt-dlp -f "bestvideo+bestaudio" "URL"
yt-dlp -f "best[ext=mp4]" "URL"
yt-dlp -f 'bv[height=1080][ext=mp4]+ba[ext=m4a]' --merge-output-format mp4 "URL"
yt-dlp -f 'bv[height=2160][ext=mp4]+ba[ext=m4a]' --merge-output-format mp4 "URL"
yt-dlp -f 137+140 "URL"
|
2. 仅下载音频
1 2 3 4 5 6 7 8
| yt-dlp -x --audio-format mp3 "URL"
yt-dlp -f bestaudio "URL"
yt-dlp -f 140 -x --audio-format mp3 "URL"
|
3. 下载播放列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| yt-dlp "播放列表URL"
yt-dlp --playlist-items 5,8,20 "播放列表URL"
yt-dlp --playlist-items 1-5 "播放列表URL"
yt-dlp --dateafter 20241201 "播放列表URL"
yt-dlp --dateafter now-1months "播放列表URL"
|
四、高级功能
1. 使用 Cookie 下载(用于需要登录的视频)
方法一:从浏览器直接读取(最简单)
1 2 3 4 5 6 7 8
| yt-dlp --cookies-from-browser chrome "URL"
yt-dlp --cookies-from-browser edge "URL"
yt-dlp --cookies-from-browser chrome::Profile 1 "URL"
|
方法二:使用 Cookie 文件
- 安装浏览器扩展 Cookie-Editor(Chrome/Edge 应用商店)
- 在目标网站登录后,点击扩展图标 → Export → Export as Netscape
- 保存为
cookies.txt 文件
- 使用命令:
1
| yt-dlp --cookies cookies.txt "URL"
|
注意:如果提示 Cookie 被锁定错误,需要先关闭浏览器,或用以下命令启动 Chrome:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=LockProfileCookieDatabase
2. 自定义输出文件名
1 2 3 4 5 6 7 8 9 10 11
| yt-dlp -o "%(title)s.%(ext)s" "URL"
yt-dlp -o '%(title)s by %(uploader)s on %(upload_date)s.%(ext)s' "URL"
yt-dlp -o "D:/Videos/%(title)s.%(ext)s" "URL"
yt-dlp -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "播放列表URL"
|
3. 下载字幕和元数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| yt-dlp --write-subs --sub-langs all "URL"
yt-dlp --write-auto-subs --sub-langs zh-CN "URL"
yt-dlp --write-description --write-thumbnail --write-info-json "URL"
yt-dlp --embed-thumbnail "URL"
yt-dlp --embed-metadata "URL"
|
4. 网络代理设置
1 2 3 4 5
| yt-dlp --proxy http://127.0.0.1:7890 "URL"
yt-dlp --proxy socks5://127.0.0.1:1080 "URL"
|
5. 其他实用选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| yt-dlp -r 50K "URL"
yt-dlp --age-limit 18 "URL"
yt-dlp --concurrent-fragments 5 "URL"
yt-dlp --progress "URL"
yt-dlp -c "URL"
yt-dlp --extractor-args "youtube:player_client=android" "URL"
|
五、实用组合命令示例
高清视频下载(推荐)
1 2
| yt-dlp -f "bv*[height<=1080]+ba" -S "ext" --concurrent-fragments 5 --progress --embed-metadata --merge-output-format mp4 "URL"
|
完整下载(视频+音频+字幕+缩略图+元数据)
1
| yt-dlp -f 'bv[ext=mp4]+ba[ext=m4a]' --embed-metadata --embed-thumbnail --write-subs --sub-langs zh-CN,en --merge-output-format mp4 "URL"
|
六、常见问题
| 问题 |
解决方案 |
| 提示缺少 FFmpeg |
下载 FFmpeg 并将 yt-dlp 放在其 bin 目录中,或添加到环境变量 |
| YouTube 403 错误 |
添加 --extractor-args "youtube:player_client=android" 或使用 --cookies-from-browser |
| Cookie 被锁定 |
关闭浏览器后重试,或添加启动参数 --disable-features=LockProfileCookieDatabase |
| 下载速度慢 |
使用 --concurrent-fragments 5 开启多线程,或检查代理设置 |
| Bilibili 需要登录 |
使用 --cookies-from-browser 或导出 Cookie 文件 |
七、官方资源