通过 HTTP 传输视频——您能分辨出视频正在被下载还是正在观看吗?

通过 HTTP 传输视频——您能分辨出视频正在被下载还是正在观看吗?

例如,Youtube 或 Vimeo 等如何知道您正在下载视频而不是观看视频?

每种情况下都会触发什么样的 HTTP 请求/标头?

答案1

我认为他们不能——这就是为什么尽管违反了(至少)Youtube 的条款和条件,这种做法仍然盛行。下载和流媒体之间没有固有的协议差异,但服务器可以使用一些共同的东西——

  1. 同时下载的块的数量。
  2. 下载速度。
  3. 下载的大小相对于报告的屏幕尺寸。
  4. 下载方法 - 例如,流媒体程序可能使用 TCP,同时报告为 Chrome - 但 Chrome 实际上使用 QUICK
  5. Javascript 解释
  6. 同时下载多个视频,或下载之间的延迟不足。

当然,所有这些都可以通过下载器进行模拟——创造出一种猫捉老鼠的游戏

然而,我认为 Youtube 或 Vimeo 不会使用 DRM(但 Netflix 会使用)。这需要特定程序或浏览器支持,而且我们很难规避/模仿。当然,这会产生部署成本并再次造成观看障碍 - 我认为 Youtube 等商业模式不适合他们。

相关内容