在使用 yt-dlp 下载 YouTube 视频的过程中,有时会遇到如下报错信息:
ERROR: [youtube] <video_id>: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication.
这是由于视频被 YouTube 标记为需要登录身份验证才能访问,可能包括以下情况:
- 视频被设置为仅限登录用户观看
- 含有年龄限制内容
- YouTube 检测到自动化行为,要求确认人机身份
为了解决这一问题,需要向 yt-dlp 提供一个有效的登录会话,也就是“cookies”。
一、解决思路
通过将浏览器中登录 YouTube 后的 cookies 导出为文件,并在 yt-dlp 中使用 --cookies 参数,可以模拟已登录的访问环境,绕过人机验证或访问限制。
二、导出 YouTube Cookies 的方法
推荐使用浏览器插件 Get cookies.txt:
- 使用 Chrome 或兼容浏览器访问 YouTube 并登录 Google 账号。
- 安装并打开插件,点击 “Download cookies.txt” 将当前 cookies 导出。
- 保存该文件至 yt-dlp 可访问的目录。
三、使用 cookies.txt 下载视频
将导出的 cookies 文件与 yt-dlp 命令配合使用:
yt-dlp --cookies cookies.txt https://youtu.be/<video_id>
若 cookies 有效,视频将被成功下载,即便原视频对未登录用户不可见。
四、关于 cookies.txt 的有效期
cookies 的有效期并不固定,通常与 Google 的登录会话策略有关,影响因素包括:
- 正常使用下,大多数 cookie 可持续几天到几周;
- 若退出账号、清除浏览器缓存、启用二步验证,cookies 会立即失效;
- Google 检测到异常活动时也可能使 cookie 失效。
建议定期重新导出 cookies 文件,保持可用状态。
五、安全与隐私注意事项
使用 cookies 文件相当于复制了浏览器的登录状态,因此应注意以下几点:
- 不应将 cookies.txt 文件分享或上传至公共场所;
- 若担心主账号隐私,可考虑使用专门的 Google 小号用于登录和导出 cookies;
- 下载完毕后可手动清除 cookies 或删除该账号以加强隐私隔离。
六、可选方式:自动从浏览器读取 cookies
yt-dlp 也支持直接从浏览器中读取 cookie(支持 Chrome/Firefox 等),命令如下:
yt-dlp --cookies-from-browser chrome https://youtu.be/<video_id>
前提是系统权限允许 yt-dlp 读取对应浏览器配置,适用于桌面环境下的快速使用。
总结
通过导出 cookies 并传入 yt-dlp,可以有效解决“登录验证”或“视频受限”问题,实现稳定下载。需要注意的是,cookies 的使用涉及一定的隐私和安全问题,建议使用临时账号或周期性更新 cookies 来降低风险。
如需更进一步的自动化方案,可以结合 shell 脚本、代理网络等手段构建批量下载或周期维护系统。