有些视频你看了三遍还想留着:一门讲透了的公开课、一段再也找不到的现场演出、一个博主随时可能删掉的合集。但网页上的东西从来不属于你——链接失效、账号注销、平台下架,说没就没。
想把它们真正留在硬盘上,yt-dlp 是目前最靠谱的工具。它没有图形界面,看着像个极客玩具,但一旦上手,你会发现它比绝大多数"一键下载"软件更强大也更好用。
它是什么
yt-dlp 是一款命令行的音视频下载工具,支持上千个网站。它是老牌项目 youtube-dl 的分支,由社区接手维护——youtube-dl 更新停滞之后,yt-dlp 成了事实上的继承者,修 bug 更快、支持站点更多、功能也更全。
代码用 Python 编写,以 Unlicense 协议完全放开到公有领域,想拿去做二次开发都没有任何限制。
为什么值得用
支持的站点多到夸张
官方维护的站点列表超过一千个,YouTube、Bilibili、Vimeo、Twitter/X、TikTok、SoundCloud、Twitch 这些主流的自然不在话下,各种小众站点也大多有人接管。遇到新站失效,通常几天内就会被修好。
画质和音质不将就
这是它和普通下载插件最大的区别。多数在线下载工具只能给你最高 720p 的单文件,而 yt-dlp 会把视频流和音频流分开下载,再用 ffmpeg 无损合并,最终拿到的是 4K/8K 的原始码流。想只留音频,也能直接抽出原始音轨转成 MP3/FLAC。
更新极其勤快
版本号用的是日期,2026 年 10 月 26 日这一版已经是当月的常规更新。网站改防盗链、改接口,它几乎总是第一批跟上的工具。
它是"可编程"的
配置文件、输出模板、批量清单、调用外部程序——yt-dlp 能被嵌进脚本里,一次性处理上百个链接。图形界面软件在这一层完全比不了。
| 优点 | 说明 |
|---|---|
| 完全免费开源 | 无广告、无会员、无功能阉割 |
| 支持上千站点 | 主流平台全覆盖,长尾站点也照顾 |
| 无损合并 | 视频音频分开下,ffmpeg 合并出原画 |
| 格式灵活 | 可指定分辨率、编码、音频格式 |
| 高度可配置 | 配置文件+模板,适合批量自动化 |
| 跨平台 | Windows / macOS / Linux 全支持 |
下载地址
GitHub 发布页(所有版本都在这里)
https://github.com/yt-dlp/yt-dlp/releases
PyPI 页面(pip 安装入口)
https://pypi.org/project/yt-dlp
当前最新版本:2026.10.26,各平台文件如下:
| 文件 | 适用平台 | 大小 |
|---|---|---|
| yt-dlp.exe | Windows 10+ 64 位(推荐) | 22.5 MB |
| yt-dlp_x86.exe | Windows 32 位 | 17.8 MB |
| yt-dlp_arm64.exe | Windows ARM64 | 21.8 MB |
| yt-dlp_macos | macOS 通用版(推荐) | 35.7 MB |
| yt-dlp | Linux/BSD(需已装 Python) | 2.9 MB |
| yt-dlp_linux | Linux 独立可执行(含 Python) | 39.3 MB |
| yt-dlp_linux_aarch64 | Linux ARM64 | 38.9 MB |
| yt-dlp.tar.gz | 源码包 | 5.7 MB |
隔壁的 SHA2-256SUMS 是校验文件,安全要求高的可以下载后核对一下。
安装方法
无论哪个平台,都强烈建议同时装好 ffmpeg——没有它,高画质的视频音频就合并不了,很多功能也用不了。
Windows
最简单的是直接下 yt-dlp.exe 扔进一个目录,然后把该目录加进系统环境变量 PATH,之后在任何地方都能敲 yt-dlp。
有包管理器的更省事:
winget install yt-dlp
或
scoop install yt-dlp
ffmpeg 用 winget install ffmpeg 或 scoop install ffmpeg 一并装上。
macOS
brew install yt-dlp ffmpeg
Linux
# Debian / Ubuntu
sudo apt install yt-dlp ffmpeg
# 或者用 pip 装最新版(推荐,发行版仓库常常滞后)
python3 -m pip install -U yt-dlp
不想折腾依赖的,直接下 yt-dlp_linux 这个独立可执行文件,赋个执行权限就能跑:
chmod +x yt-dlp_linux
sudo mv yt-dlp_linux /usr/local/bin/yt-dlp
装完之后先自检
yt-dlp --version
ffmpeg -version
两条都有输出,就可以开工了。
基本用法
下载单个视频
yt-dlp "视频链接"
想先看看有哪些画质可选
yt-dlp -F "视频链接"
这会列出所有格式,包括分辨率、编码、文件大小,记住左边的格式编号就能精准指定。
下载指定画质的版本
yt-dlp -f "bv*+ba/b" "视频链接"
这串参数的意思是:优先选最好的视频流(bv*)加最好的音频流(ba),两者都没有才退回单文件(b)。这也是 yt-dlp 的默认逻辑,写出来只是让你知道原理。
只要 1080p
yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" "视频链接"
只下音频
yt-dlp -x --audio-format mp3 "视频链接"
-x 就是 extract-audio,配合 --audio-format 指定格式,mp3、m4a、flac、wav 都支持。追求无损就用 --audio-format flac。
下载整个播放列表
yt-dlp "播放列表链接"
默认会整条列表拉下来。只想下其中几集:
yt-dlp --playlist-items 1-5,8 "播放列表链接"
反过来,如果链接里带了列表参数但你只想下当前这一个,加 --no-playlist。
实用技巧
技巧一:指定文件名和保存位置
-o 参数支持模板变量,把文件按你的习惯整理:
yt-dlp -o "%(uploader)s/%(upload_date)s - %(title)s.%(ext)s" "链接"
这样会自动建以频道名命名的文件夹,文件按"日期 - 标题"命名。常用变量还有 %(id)s(视频 ID)、%(duration)s(时长)、%(resolution)s(分辨率)。
想统一放某个盘,用 -P:
yt-dlp -P "D:/下载/视频" "链接"
技巧二:顺手把字幕、封面、元数据塞进去
yt-dlp --embed-subs --embed-thumbnail --embed-metadata --sub-langs "zh.*,en.*" "链接"
下完就是一个自带中文字幕、有封面、信息完整的文件,丢进播放器或音乐库里不会是一堆乱码。--write-auto-subs 可以把自动生成的字幕也一并拿下。
技巧三:多线程加速
分片视频默认只开一个连接下载,网速好的话纯属浪费:
yt-dlp -N 8 "链接"
-N 是并发分片数,8 一般够用,网络好的可以试 16。
技巧四:限速,别把家里网拖垮
yt-dlp --limit-rate 5M "链接"
技巧五:跳过 YouTube 的广告段落
配合 SponsorBlock,可以把视频里的赞助口播、片头片尾自动剪掉或标记:
yt-dlp --sponsorblock-remove sponsor,selfpromo "链接"
技巧六:批量清单一次下完
把一堆链接丢进 links.txt,一行一个,然后:
yt-dlp -a links.txt
技巧七:断点续传与去重
--download-archive 会记录已下过的视频 ID,下次重跑同一条列表时自动跳过,特别适合定期追更的频道:
yt-dlp --download-archive done.txt -a links.txt
技巧八:让它记住你的偏好
每次敲一长串参数太累。在用户目录建一个配置文件,把常用参数写进去:
- Windows:
%APPDATA%\yt-dlp\config.txt - macOS/Linux:
~/.config/yt-dlp/config
例如写上一行:
-f bv*+ba/b --embed-subs --embed-thumbnail --embed-metadata -N 8 -o "%(uploader)s/%(title)s.%(ext)s"
以后直接 yt-dlp "链接" 就是全套配置好的效果。
几个常见问题
提示需要登录 / 视频要求验证
用 --cookies-from-browser 直接读取本机浏览器的登录状态:
yt-dlp --cookies-from-browser chrome "链接"
Firefox、Edge、Brave 等同样支持,把 chrome 换成对应名字即可。也可以手动导出 cookies.txt 后用 --cookies cookies.txt。
下载速度慢或连不上
国内网络访问部分站点本身就有困难,yt-dlp 里可以指定代理:
yt-dlp --proxy "http://127.0.0.1:7890" "链接"
提示 Unable to extract / 站点失效
先更新到最新版,绝大多数失效问题更新就解决了。如果是 pip 装的:
python3 -m pip install -U yt-dlp
合并失败,报错找不到 ffmpeg
说明 ffmpeg 没装或不在 PATH 里。装好之后 ffmpeg -version 能跑通就没问题,否则可以用 --ffmpeg-location 手动指定路径。
一点使用心得
yt-dlp 的学习曲线集中在头十分钟——记住 -F 看格式、-f 选格式、-x 抽音频这么三件事,剩下的都是锦上添花。
它的价值在于"确定性"。网页上的内容随时会消失,但硬盘里的文件不会。把值得留存的东西拉下来,配上规范的命名模板和归档记录,几年之后翻出来还是一清二楚。
最后提一句:工具是中性的,用它保存公开课、自己的作品、有授权的内容都没问题,但别拿去做侵权传播或绕过付费墙——这一点心里有数就好。