一、什么是 yt-dlp
yt-dlp 是一款开源的命令行视频下载工具,源自 youtube-dl 项目,并在 youtube-dlc 的基础上继续维护和增强。
它的特点:
- 支持 数千个网站
- 下载速度快
- 支持自动合并音视频
- 支持批量下载
- 支持字幕、封面、元数据
- 可调用 FFmpeg 自动处理视频
https://github.com/yt-dlp/yt-dlp
支持的网站包括:
- YouTube
- X (Twitter)
- Twitch
- Bilibili
二、为什么要安装 FFmpeg
很多视频网站的视频其实是 音频和视频分开的。
例如:
| 类型文件 | |
| 视频流 | video.m4s |
| 音频流 | audio.m4s |
如果没有 FFmpeg:
- 可能只能下载单独的视频流
- 无法自动合并
- 无法转码
三、环境准备
1 下载 yt-dlp
项目地址:
https://github.com/yt-dlp/yt-dlp
Windows 推荐下载:
[pre]yt-dlp.exe[/pre]放在一个固定目录,例如:
[pre]D:\tools\yt-dlp\[/pre]
2 下载 FFmpeg
下载地址:
https://ffmpeg.org
下载后把以下文件放到同一目录:
[pre]ffmpeg.exeffprobe.exe[/pre]目录结构示例:
[pre]yt-dlp.exeffmpeg.exeffprobe.exe[/pre]这样 yt-dlp 会自动调用 FFmpeg。
四、最基础下载方法
最简单的命令:
[pre]yt-dlp 视频链接[/pre]例如:
[pre]yt-dlp https://youtube.com/xxxxx[/pre]程序会自动:
- 获取视频信息
- 下载音频视频
- 调用 FFmpeg 合并
[pre]video.mp4[/pre]
五、查看视频所有格式
不同网站通常提供多个清晰度。
使用命令:
[pre]yt-dlp -F 视频链接[/pre]例如:
[pre]yt-dlp -F https://youtube.com/xxxxx[/pre]会显示类似:
[pre]ID EXT RESOLUTION137 mp4 1080p136 mp4 720p135 mp4 480p140 m4a audio[/pre]含义:
- 137 = 1080P 视频
- 140 = 音频
六、指定清晰度下载
例如下载 1080P 视频 + 音频
[pre]yt-dlp -f 137+140 视频链接[/pre]含义:
[pre]137 = 视频140 = 音频[/pre]yt-dlp 会自动调用 FFmpeg 合并。
七、下载最高质量视频
常用命令:
[pre]yt-dlp -f bestvideo+bestaudio[/pre]或简写:
[pre]yt-dlp -f bv+ba[/pre]自动下载:
[pre]最高画质视频 + 最好音频[/pre]
八、直接下载 MP4(最常用)
很多平台更兼容 MP4 + H264。
推荐命令:
[pre]yt-dlp -f "bv*[vcodec*=avc1]+ba[acodec*=mp4a]/b[ext=mp4]" --merge-output-format mp4[/pre]含义:
优先下载:
[pre]H264 视频 + AAC 音频[/pre]这样生成的 MP4 兼容性最好。
九、批量下载视频
如果有多个视频链接:
创建文件:
[pre]list.txt[/pre]内容:
[pre]https://youtube.com/xxxhttps://youtube.com/xxxhttps://youtube.com/xxx[/pre]执行:
[pre]yt-dlp -a list.txt[/pre]即可 自动批量下载。
十、下载字幕
命令:
[pre]yt-dlp --write-subs --sub-lang zh,en[/pre]下载完成后:
[pre]video.mp4video.zh.srtvideo.en.srt[/pre]
十一、下载封面
命令:
[pre]yt-dlp --write-thumbnail[/pre]结果:
[pre]video.mp4video.jpg[/pre]
十二、如何使用 ChatGPT 帮你写下载命令(新手重点)
很多新手最大的问题不是 下载视频,而是:
- 不知道 yt-dlp 参数
- 不知道如何组合命令
- 不知道如何解决报错
你只需要描述需求,它就能生成命令。
下面是几种常见使用方法。
1 最简单的提问方式
直接把 视频链接 + 需求 发给 ChatGPT。
例如:
[pre]帮我写 yt-dlp 下载命令视频链接:https://youtube.com/xxxxx要求:下载1080PMP4格式H264编码[/pre]ChatGPT通常会生成类似命令:
[pre]yt-dlp -f "bv*[vcodec*=avc1]+ba[acodec*=mp4a]" --merge-output-format mp4[/pre]你只需要复制执行即可。
2 让 ChatGPT 写完整命令
例如这样问:
[pre]帮我写一个 yt-dlp 命令要求:下载YouTube视频1080PMP4格式文件名使用视频标题[/pre]ChatGPT可能生成:
[pre]yt-dlp -f "bv*[height<=1080][vcodec*=avc1]+ba[acodec*=mp4a]" --merge-output-format mp4 -o "%(title)s.%(ext)s"[/pre]
3 让 ChatGPT 生成批量下载脚本
如果你有很多视频:
[pre]帮我写一个 yt-dlp 批量下载命令要求:读取 list.txt下载最高质量MP4格式[/pre]ChatGPT可能给出:
[pre]yt-dlp -a list.txt -f "bv+ba/b" --merge-output-format mp4[/pre]
4 解决下载报错
如果下载失败,例如:
[pre]ERROR: Unsupported URL[/pre]或者
[pre]ERROR: Signatures extraction failed[/pre]把 完整错误信息发给 ChatGPT。
例如:
[pre]yt-dlp 出现这个错误ERROR: Unsupported URL帮我解决[/pre]通常 ChatGPT 可以:
- 判断问题原因
- 提供正确命令
- 给出修复方法
5 让 ChatGPT 自动优化命令
你甚至可以这样问:
[pre]这是我现在的命令:yt-dlp -f bv+ba帮我优化:要求 MP4 H264[/pre]ChatGPT就会自动改写命令。
十三、总结
yt-dlp + FFmpeg + ChatGPT 是目前非常强大的视频下载组合。
| 工具作用 | |
| yt-dlp | 下载视频 |
| FFmpeg | 合并音视频 / 转码 |
| ChatGPT | 生成命令 / 解决问题 |
- 支持 数千网站
- 完全免费开源
- 自动化程度高
- 几乎可以解决 95% 视频下载需求