我正在开展一个项目,我正在创建一个视频流媒体网络服务。到目前为止我创建的是一种将视频内容同步写入用户流的服务。但是,我的网络服务的工作方式与Youtube / Netflix的工作方式不同。
我只是想知道Youtube / Netflix如何播放视频。这些网站不会直接向用户发送视频内容'浏览器。我正在研究开发人员选项中的网络选项卡,并发现这两个网站都对Web API发出了新请求,并更改了范围标头。任何人都可以告诉我这是如何工作的。
答案 0 :(得分:8)
从非常高的角度来说,客户端(浏览器,移动应用等)会从服务器请求视频。
由于视频很大且用户不想等到整个视频下载后再播放,大多数客户端都会在客户端有足够的视频时立即启动视频播放能够解码并开始播放。
大多数客户端和服务器现在至少支持HTTP流式传输:
自适应比特率流建立在此基础上,以满足不同的网络条件:
您实际上可以在YouTube,Netflix等中看到ABR效果:当您启动视频时,您会经常看到质量不如前30秒到一分钟,因为它会提高比特率。
YouTube还有一些很好的统计数据,您可以通过右键点击视频并查看“#s; nerds'”的统计信息来访问。