![一些 Youtube 视频的下载管理器问题](https://linux22.com/image/1442001/%E4%B8%80%E4%BA%9B%20Youtube%20%E8%A7%86%E9%A2%91%E7%9A%84%E4%B8%8B%E8%BD%BD%E7%AE%A1%E7%90%86%E5%99%A8%E9%97%AE%E9%A2%98.png)
最近我在从 Youtube 下载一些视频时遇到了问题,比如这个:
https://www.youtube.com/watch?v=xouo8ktxZNc
我试过了保持视频,下载助手,Greasemonkey 脚本和youtube-dl,而且只有 youtube-dl 可以工作。几个月来,我注意到 KeepVid 存在这个问题。与此同时,他们下载其他视频完全没问题。
那么有人知道为什么这些下载管理器不起作用吗?我怀疑是因为Youtube 更改协议因为对于某些视频来说它仍然有效并且一直有效。
答案1
免责声明:我是 youtube-dl 的核心开发人员之一。
您所看到的统一 YouTube 实际上包含许多不同的协议和变体。因此,虽然每个视频看起来都一样,但存在相当大的差异:
- 对于某些视频,API 相当稳定,并使用 HTTP。这个类似乎是为你和我上传的大多数“普通”视频而选择的,而不是某个大型组织。最近,他们越来越多地转向短跑,尽管对于低质量(<1080p)视频,传统格式仍然保留。
- 音乐视频通常使用 HTTP 或 DASH,但需要额外步骤来解码 URL,这可能非常复杂,因为它涉及解释 Flash 或 JavaScript 代码。
- 电影似乎使用了另一种完全不同的方案,即 RTMP。
- 直播,即使是录制的,通常也会使用HLSS,有时是独家。
当然,存在相当大的重叠,许多视频有多种格式,包括 HTTP、带签名的 HTTP、DASH、带签名的 DASH、RTMP、HLS、带签名的 HLS。如果 YouTube 没有公开声明,我们所能做的就是猜测并实施一切 - 这正是 youtube-dl 项目(可能还有您列出的其他项目)试图做的事情。