- 如何使用 yt-dlp 下载视频?
yt-dlp 是命令行工具,其逻辑非常符合 Linux 用户的直觉:
- 基础下载(默认最高画质):
yt-dlp “视频URL”
- 查看可选的分辨率和格式: 有时候你不需要 4K,只需要一个 1080p 的 MP4:
yt-dlp -F “视频URL”
这条命令会列出所有可用的音视频编号(ID)。
- 下载指定的格式: 假设你想选 ID 为 137(视频)和 140(音频)的组合:
yt-dlp -f 137+140 “视频URL”
- 更新工具(它更新极快,建议常更):
yt-dlp -U
- 为什么要使用 Cookies?
对于 yt-dlp,使用 Cookies 主要为了解决以下三大问题:
- 绕过身份验证(会员与私密视频)
很多视频平台(如 YouTube, Bilibili)的部分内容是需要登录、甚至是会员才能查看的。
- 原理: yt-dlp 本身并不具备浏览器那样的交互登录界面。通过导入 Cookies,你相当于把浏览器的“登录凭证”借给了它,让它能以你的身份去请求资源。
- 应用: 下载你收藏夹里的私密视频或 4K/8K 超高码率内容。
- 破解反爬虫与速率限制 (Rate Limiting)
各大平台对“游客”和“登录用户”的策略不同。
- 如果你频繁下载(比如批量拉取整个播放列表),平台会识别出你是机器人并封锁你的 IP。
- 使用 Cookies 后: 平台会认为这是一个真实用户在正常访问,从而降低触发验证码(CAPTCHA)的概率,有时甚至能获得更快的下载速度。
- 地理限制与年龄验证
有些视频标记为“成人内容”或“特定地区可用”,即使该视频是公开的,平台也会强制要求验证年龄(登录状态)。
- 如何在 yt-dlp 中使用 Cookies?
最推荐的方法:直接从浏览器提取 你不需要手动去 F12 复制字符串,yt-dlp 已经内置了自动读取功能:
# 从 Chrome 浏览器读取 Cookies
yt-dlp –cookies-from-browser chrome “视频URL”
# 从 Firefox 浏览器读取 Cookies
yt-dlp –cookies-from-browser firefox “视频URL”
针对远程服务器(PVE 虚拟机或 Debian 宿主机): 由于你的服务器通常没有安装图形界面浏览器,你可以先在本地 Windows 上使用插件(如 Get cookies.txt LOCALLY)导出 cookies.txt 文件,然后上传到服务器:
yt-dlp –cookies /path/to/cookies.txt “视频URL”
- 进阶建议:配合 FFmpeg
既然你追求效率,强烈建议在你的 Debian 环境下安装 ffmpeg。yt-dlp 在下载高画质视频时,通常是分别下载视频流和音频流,最后调用 FFmpeg 将它们无损合并。
sudo apt install ffmpeg
+++++++++++++++++++