YouTube 下载器:借助 Massive 实现大规模可靠下载
一款开源的异步服务,通过 Massive 住宅代理运行 YouTube 下载任务:支持受限并发、严格的粘性会话、每次重试生成新路由,并提供按尝试次数统计的遥测数据。
大规模YouTube下载器
为什么批量直接下载脚本会失败
一旦流量增加,直接在 YouTube 上运行 yt-dlp 往往会出现同样的故障。该服务正是为了避免这些问题而存在的。
- 无限制的并发性。一个简单的脚本会根据URL的数量建立相应数量的连接。这会导致代理池和YouTube都不堪重负,从而引发连锁失败,而非采取退避策略。
- 下载过程中超时的会话。sessionmode=flex 会在长时间下载过程中轮换底层路由,因此大型视频会在下载中途超时,导致整个下载尝试白费。
- 重试后仍出现相同故障。普通的重试会复用刚刚失败的同一路由,因此第二次尝试也会以同样的方式失败,既消耗了尝试配额,又没有任何改变。
- 隐形代理错误。当代理端错误被忽略时,任务仅显示为“失败”,且没有可供处理的退出 IP、国家或 ASN 信息。你无法区分是路由有问题还是视频有问题。
运作原理:运营模式
一个任务从 API 流向一个受限的工作进程,通过一个严格的 Massive 会话进入 yt-dlp,最后输出到存储。如果尝试失败,则返回以重新选择路径。
该服务为您提供什么
专为提供可靠且可监控的下载体验而设计。
异步任务 API
使用 POST /video 将任务加入队列,并使用 GET /video/{id} 轮询该任务。下载操作在工作线程中进行,而非在 HTTP 请求中,因此响应会立即返回。
# Queue a download jobcurl -X POST https://your-host/video \-H "Content-Type: application/json" \-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'# => { "id": "job_123", "state": "queued" }# Poll itcurl https://your-host/video/job_123# Inspect every attemptcurl https://your-host/video/job_123/attempts# Retry a terminal failurecurl -X POST https://your-host/video/job_123/retry
- 明确规定:已排队、正在运行、正在上传、已完成、失败。
- 每次尝试的可见性:GET /video/{id}/attempts,并在 POST /video/{id}/retry 时重试终端失败的情况。
有界并发与租约
“每名工作者”的并发上限会将连接数控制在您的代理和 YouTube 成功率能够承受的水平,而工作者租约则用于跟踪正在处理中的任务。
- 根据观察到的成功率选择上限值。30 是一个有用的负载测试设置。
- 碰撞保障租赁。发生故障的进程会留下一个租约;过期的租约将在重启时被回收并重新加入队列。
“严格”Massive训练课
每次请求都会获得一个唯一的会话 ID,且会话模式为 sessionmode=strict。一旦发生路由错误,会话即告失效,而非在多次失败后仍保持有效。
yt-dlp Python API 集成
该服务通过 Python API 调用 yt-dlp,因此代理凭据绝不会通过子进程的命令行、源文件或 shell 历史记录传递。
现代YouTube视频提取
一个 Deno JavaScript 运行时和可配置的 YouTube 播放器客户端负责处理现代播放器的提取工作。
YTDLP_JS_RUNTIME=denoYTDLP_YOUTUBE_PLAYER_CLIENTS=web,web_safari,tv
本地存储或 S3 存储
在开发过程中,将结果写入本地文件系统;若存在可选的依赖项和凭据,则将结果写入 S3 及 S3 兼容存储桶。
每次尝试的遥测数据
每次尝试都会记录其阶段、时间、字节数、选定的玩家客户端以及错误代码。绝不会包含凭据信息。
- Massive退出元数据。启用捕获功能后,记录中将包含出口 IP、国家、时区和 ASN——这样您就能区分出是路由问题还是视频质量问题。
带签名的完成 webhook
在任务中设置一个 Webhook URL 以接收终端通知。如果设置了签名密钥,则发送的消息将包含一个 HMAC-SHA256 签名头。
为何选择 Massive:真实的住宅网络路由,而非数据中心 IP 地址
该服务将每次访问都通过Massive住宅代理进行路由,因此YouTube看到的都是来自真实用户设备的本地自然流量。
| 公制 | 值 |
|---|---|
| 回复 | <600毫秒 |
| 成功 | 99.8% |
| 正常运行时间 | 99.9% |
| 国家 | 195+ |
适合企业使用。
- 已通过SOC 2第1类审计。对安全控制措施和运营完整性的独立审计。
- 符合《通用数据保护条例》(GDPR)和《加州消费者隐私法案》(CCPA)的要求。完全符合全球数据隐私法规。
- 已通过AppEsteem认证。对SDK实践和同意机制的独立审查。
- 99.9% 的正常运行时间服务水平协议(SLA)。依托全天候监控和专用基础设施。
- 工程师为工程师解答。由开发团队提供的专属客户经理和技术支持。
- 完整的审计轨迹。每台已加入的设备、每条请求均已记录在案。已通过安全审查。
无需注册,无需门槛。只需输入您自己的 Massive Residential 账号信息,几分钟内即可开始下载。当您的使用量超出测试范围时,请预约通话,我们将协助您选择合适的套餐。
克隆代码。运行代码。发布代码。
