在使用 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

  1. 使用 Chrome 或兼容浏览器访问 YouTube 并登录 Google 账号。
  2. 安装并打开插件,点击 “Download cookies.txt” 将当前 cookies 导出。
  3. 保存该文件至 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 脚本、代理网络等手段构建批量下载或周期维护系统。

Leave a Reply

Your email address will not be published. Required fields are marked *