Intro
yt-dlp 是目前最强的视频下载工具,GitHub 156k+ stars,由已停止维护的 youtube-dl fork 而来,更新频率高、格式支持广、绕过限制的能力强。社区里提到"下 YouTube",基本默认就是它。
My Use
我用它做一件事:把 YouTube 上值得留存的视频下载到本地。不依赖网络、不怕失效、画质可控。偶尔也用来提取音轨。
When to Use / Not Use
适合
- YouTube 及主流平台的视频下载
- 批量下载播放列表
- 提取音频(配合 ffmpeg)
不适合
- 有 DRM 保护的内容(Netflix、Disney+ 等)
- 需要登录会员才能观看的内容(cookie 方案不稳定)
- 实时直播录制(有专用工具更合适)
Gotchas
- 格式代码会随平台变化,
-f best不总是最优,建议显式指定 - 下载后视频和音频是分离的,没有 ffmpeg 就无法合并成 mp4
- YouTube 频繁更新反爬策略,遇到失败先升级版本:
pip install -U yt-dlp --cookies-from-browser偶发失效,尽量不依赖登录状态下载
My Setup
# 下载最佳画质,合并为 mp4
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]" \
--merge-output-format mp4 \
-o "%(title)s.%(ext)s" \
<URL>
Story
2020 年,RIAA 用 DMCA 把 youtube-dl 从 GitHub 下架了。事情后来的发展不太符合他们的初衷:代码没有消失,反而以更多 fork、镜像和替代实现的形式散了出去。yt-dlp 就是在这种背景下出现的。互联网有时就是这样——越想让某样东西安静下来,它往往越难安静。
Minimal Example
# 单个视频
yt-dlp <URL>
# 仅提取音频(需要 ffmpeg)
yt-dlp -x --audio-format mp3 <URL>
# 下载整个播放列表
yt-dlp -o "%(playlist_index)s-%(title)s.%(ext)s" <PLAYLIST_URL>
