有些视频你看了三遍还想留着:一门讲透了的公开课、一段再也找不到的现场演出、一个博主随时可能删掉的合集。但网页上的东西从来不属于你——链接失效、账号注销、平台下架,说没就没。

想把它们真正留在硬盘上,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.exeWindows 10+ 64 位(推荐)22.5 MB
yt-dlp_x86.exeWindows 32 位17.8 MB
yt-dlp_arm64.exeWindows ARM6421.8 MB
yt-dlp_macosmacOS 通用版(推荐)35.7 MB
yt-dlpLinux/BSD(需已装 Python)2.9 MB
yt-dlp_linuxLinux 独立可执行(含 Python)39.3 MB
yt-dlp_linux_aarch64Linux ARM6438.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 抽音频这么三件事,剩下的都是锦上添花。

它的价值在于"确定性"。网页上的内容随时会消失,但硬盘里的文件不会。把值得留存的东西拉下来,配上规范的命名模板和归档记录,几年之后翻出来还是一清二楚。

最后提一句:工具是中性的,用它保存公开课、自己的作品、有授权的内容都没问题,但别拿去做侵权传播或绕过付费墙——这一点心里有数就好。