169,789· 14,284 forks· Python· Unlicense开源替代

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-dlp4K Video Downloader(商业)youtube-dl(原版)
更新频率每日月度年度
支持站点数千约 50数百(过时)
高级功能SponsorBlock/插件/API图形界面/批量队列基础下载
反爬能力强(专职对抗)中(依赖官方 API)弱(已失效)
使用门槛命令行零门槛命令行
价格免费开源$15 起免费开源

取舍: yt-dlp 牺牲易用性换取最强对抗力和灵活性; 商业工具省心但受限于官方 API 政策; 原版 youtube-dl 已基本停止维护。

已知坑

  1. SABR 协议性能: 使用 QuickJS 时单视频可能耗时 10-20 分钟, 需安装 Deno(--downloader deno) 或 Node.js 加速
  2. 代理必需性: 中国大陆访问 YouTube 等境外站点必须配置 --proxy, 否则连接超时
  3. FFmpeg 依赖: 合并音视频或转换格式需单独安装 FFmpeg(二进制版本未内置)
  4. 版权风险: 下载受版权保护内容可能违反当地法律, 工具本身不提供破解 DRM 能力
  5. 高 issue 数: 2533 个开放问题反映部分小众站点支持不稳定, 需查阅 Wiki 或提交 bug
  6. 内存占用: 处理 4K 视频时可能占用数 GB 内存(尤其合并大文件时)

中文用户特别注意: Bilibili 等国内站点需登录 Cookie(--cookies-from-browser chrome) 才能下载高清, 且部分番剧有地区限制。

安装方式:pip/二进制文件