用途:把用户请求中的视频链接批量下载为 MP4,支持单视频与播放列表,覆盖 YouTube、Instagram、TikTok、Twitter/X、Facebook、Vimeo、Reddit 等 1000+ 平台(依赖 yt-dlp)。
主要能力:scripts/download.py 首次运行自动安装 yt-dlp,合并视频与音频为 MP4;默认 720p,可用 --max-height 调整;默认单视频,加 --playlist 下载整个播放列表;默认启用 .download-archive.txt 断点续传记录,重复运行会跳过已下载文件,可用 --no-archive 关闭;文件名始终启用 --windows-filenames,单视频为 {title} [{id}].mp4,播放列表为 {NNN} - {title} [{id}].mp4。
用法示例:python scripts/download.py "URL";多链接加 -o 指定输出目录;播放列表加 --playlist;可用 --cookies-from-browser chrome 或 --cookies 指定 cookies 文件,此时跳过自动轮换;--max-height 1080 提升画质。
YouTube 反机器人自动恢复:遇到 Sign in to confirm、LOGIN_REQUIRED 等标记时,按顺序尝试四种策略,成功即停——无认证加限速、播放器客户端轮换(default、tv、mweb、web_safari)、浏览器 cookies 轮换(chrome→edge→firefox→brave→vivaldi→opera,仅限已安装浏览器)、自动发现 ~/Downloads 下 7 天内的有效 cookies 文件。全部失败时脚本会打印分步恢复指引,包括用浏览器扩展导出 cookies(Chrome 系用 Get cookies.txt LOCALLY,Firefox 用 cookies.txt),保存到默认下载目录后重跑命令。
限制与注意:Windows 上 --cookies-from-browser chrome 需先关闭 Chrome(App-Bound Encryption 会锁定 cookie 数据库);也可改用导出的 cookies 文件。其他替代方案包括切换网络(热点或 VPN)绕过 IP 封锁,或等待约 24 小时让封锁自动解除。具体平台支持范围与效果以 yt-dlp 实际表现为准,资料未提供收费、价格等信息。