重要的
YouTube 正在逐步强制使用“PO 令牌”下载视频。由于这些令牌的性质,yt-dlp 无法生成它们,因此必须由外部提供。
默认情况下,yt-dlp 会尝试使用当前不需要 PO 令牌的客户端下载视频。但是,如果没有令牌,某些格式和功能可能无法使用。
目前,如果您在使用默认客户端时遇到问题,建议您使用mweb
带有 PO 令牌的客户端。请参阅PO 令牌指南,了解如何设置 yt-dlp。
导出 YouTube Cookie
警告
使用 yt-dlp 账号可能会被封禁(暂时或永久)。请注意账号的请求频率和下载量。仅在必要时使用,或考虑使用一次性账号。
笔记
这仅适用于需要帐户才能访问的内容,例如私人播放列表、年龄限制视频和仅限会员的内容。
如果您不熟悉导出 cookie 并将其传递给 yt-dlp 的基础知识,那么请先参阅如何将 cookie 传递给 yt-dlp?
出于安全考虑,YouTube 会在打开的 YouTube 浏览器标签页上频繁轮换帐户 Cookie。为了导出可继续与 yt-dlp 配合使用的 Cookie,您需要以永不轮换的方式导出 Cookie。
一种方法是通过私人浏览/隐身窗口:
- 打开新的私人浏览/隐身窗口并登录 YouTube
- 在步骤 1 中的同一窗口和同一选项卡中,导航至
https://www.youtube.com/robots.txt
(这应该是唯一打开的私人/隐身浏览选项卡)
youtube.com
从浏览器中导出cookie,然后关闭私人浏览/隐身窗口,以便会话不再在浏览器中打开。
不使用 Cookie 传递访客数据
在某些情况下,您可能不想使用 cookie,而是传递访客数据以在 Innertube API 请求中使用。
警告
大多数情况下不建议使用此方法。它需要跳过网页请求,以免VISITOR_INFO1_LIVE
Cookie 造成干扰。这会导致需要发送更多请求,并且提取稳定性也会降低。
您可以使用以下方式执行此操作:
--extractor-args "youtubetab:skip=webpage" --extractor-args "youtube:player_skip=webpage,configs;visitor_data=VISITOR_DATA_VALUE_HERE"
常见的 YouTube 错误
This content isn't available, try again later
此错误是由于您的 YouTube 访客会话或帐户超出了 YouTube 视频请求速率限制而导致的。
建议在使用-t sleep
或睡眠选项的下载之间添加大约 5-10 秒的延迟。
使用默认的 yt-dlp 设置,访客会话的速率限制约为每小时 300 个视频(每小时约 1000 个网页/播放器请求)。账户的速率限制约为每小时 2000 个视频(每小时约 4000 个网页/播放器请求)。
PO 代币指南
此部分已移至专用页面
使用 OAuth 登录
警告
由于 YouTube 实施了新的限制,yt-dlp 不再支持 OAuth 登录。您应该改用 Cookie。