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/二进制文件