yt-dlp: 强化版 YouTube 命令行下载器
yt-dlp/yt-dlp
支持数千网站的全功能音视频下载工具, youtube-dl 的活跃分支, 17万星标, 持续对抗平台反爬
成熟度:维护极活跃, 昨日仍有提交应对 YouTube 新协议, 2533 个 open issues 反映高使用量
项目体检
技术 · Python 3.10+ 命令行工具, 可选依赖 brotli/pycryptodome 等加密库
许可 · Unlicense 协议, 完全公有领域, 可任意商用无需署名
活跃 · 极活跃: 最新版本 2026.06.09, 1738 名贡献者, 昨日仍有代码提交
解决什么
yt-dlp 解决从 YouTube 等数千个视频平台下载音视频内容的需求。原生 youtube-dl 项目更新缓慢且功能受限, yt-dlp 作为其活跃分支, 持续对抗平台方的反爬措施(如 YouTube 最新的 SABR 协议)、支持更多网站、提供更灵活的格式选择和后处理能力。适用于内容备份、离线观看、数据采集、媒体归档等场景, 尤其在网络受限或需批量处理时不可替代。
为何火
17 万星标来自三大核心优势: 持续对抗能力(专职团队每日更新应对平台封锁)、功能全面性(支持数千站点+SponsorBlock 跳过广告+元数据修改+插件系统) 和社区活跃度(1738 名贡献者, 2533 个活跃 issue 说明用户基数庞大)。2025 年 YouTube 推出 SABR 协议后, yt-dlp 迅速引入 Deno/Node.js 引擎支持, 成为少数仍能下载高清视频的工具, HN 讨论热度 1244 点印证其不可替代性。
核心功能
- 万能下载: 支持 YouTube/Bilibili/Twitter 等数千网站, 自动选择最佳格式或按需指定分辨率/编码
- 智能后处理: 内置 FFmpeg 集成实现格式转换、音视频合并、字幕嵌入、元数据编辑
- SponsorBlock 集成: 自动跳过视频中的赞助广告片段(基于众包数据库)
- 批量任务: 支持播放列表下载、断点续传、并发控制、输出模板自定义
- 反反爬机制: 动态 JS 解析(现支持 Deno/Node.js/QuickJS)、Cookie 认证、代理轮换
- 插件系统: 通过 Python 插件扩展提取器或后处理逻辑
安装
推荐方式(跨平台):
pip install yt-dlp
独立二进制(无需 Python 环境):
- Windows: 下载
yt-dlp.exe - Linux/macOS: 下载对应平台二进制文件并添加执行权限
基础用法:
yt-dlp "https://www.youtube.com/watch?v=VIDEO_ID" # 默认最佳质量
yt-dlp -f "bestvideo+bestaudio" URL # 分别下载最高画质+音质后合并
yt-dlp --extract-audio --audio-format mp3 URL # 仅提取音频转 MP3
中国用户需配置代理: yt-dlp --proxy socks5://127.0.0.1:1080 URL
适合谁
- 内容创作者: 备份自己的视频作品或采集素材
- 研究人员: 批量下载公开数据集(如教育视频、演讲记录)
- 媒体归档者: 保存可能被删除的历史内容
- 网络受限用户: 离线观看或规避地理限制(需合法代理)
- 自动化工程师: 集成到脚本/CI 流程中(支持 Python API 调用)
不适合: 无技术背景且仅需偶尔下载的普通用户(图形界面工具如 4K Video Downloader 更友好)
社区评价
HN 讨论(1244 点, 611 评论)聚焦 YouTube 新 SABR 协议危机: 用户反馈 2025 年后高清下载受阻(仅能获取 360p), yt-dlp 团队紧急引入 Deno/Node.js 解析动态 JS 挑战代码。争议点集中在性能: 有开发者实测 QuickJS 引擎需 20 分钟处理单个视频的 token 生成, 而 Deno 优化后缩短至秒级, 但增加了 200MB+ 运行时依赖。部分用户质疑 Google 是否在 "挖矿"(运行高混淆 CPU 密集代码), 技术派解释这是反爬军备竞赛的必然——YouTube 将验证逻辑深度耦合到播放器代码中, 无法再提取独立脚本。正面评价认可团队响应速度(48 小时内发布修复), 负面担忧在于长期可持续性(Google 可能持续加码对抗成本)。
选型对比
| 维度 | yt-dlp | 4K Video Downloader(商业) | youtube-dl(原版) |
|---|---|---|---|
| 更新频率 | 每日 | 月度 | 年度 |
| 支持站点 | 数千 | 约 50 | 数百(过时) |
| 高级功能 | SponsorBlock/插件/API | 图形界面/批量队列 | 基础下载 |
| 反爬能力 | 强(专职对抗) | 中(依赖官方 API) | 弱(已失效) |
| 使用门槛 | 命令行 | 零门槛 | 命令行 |
| 价格 | 免费开源 | $15 起 | 免费开源 |
取舍: yt-dlp 牺牲易用性换取最强对抗力和灵活性; 商业工具省心但受限于官方 API 政策; 原版 youtube-dl 已基本停止维护。
已知坑
- SABR 协议性能: 使用 QuickJS 时单视频可能耗时 10-20 分钟, 需安装 Deno(
--downloader deno) 或 Node.js 加速 - 代理必需性: 中国大陆访问 YouTube 等境外站点必须配置
--proxy, 否则连接超时 - FFmpeg 依赖: 合并音视频或转换格式需单独安装 FFmpeg(二进制版本未内置)
- 版权风险: 下载受版权保护内容可能违反当地法律, 工具本身不提供破解 DRM 能力
- 高 issue 数: 2533 个开放问题反映部分小众站点支持不稳定, 需查阅 Wiki 或提交 bug
- 内存占用: 处理 4K 视频时可能占用数 GB 内存(尤其合并大文件时)
中文用户特别注意: Bilibili 等国内站点需登录 Cookie(--cookies-from-browser chrome) 才能下载高清, 且部分番剧有地区限制。
安装方式:pip/二进制文件