我注意到youtube的视频流通常是通过TCP / HTTP到达的。但是,我被告知youtube的服务器在视频传输中使用FEC。似乎相当复杂 - 因为TCP是可靠的(即无损),所以不需要FEC?我在这里搞错了吗?
答案 0 :(得分:1)
YouTube使用HTTP / TCP将视频缓冲到其主站点上的Flash播放器中。该视频存储在Google Video的内容分发网络中。它没有像尽可能快地发送到您的计算机那样流式传输。 但是,对于3g手机,m.youtube.com使用RTSP来传输视频。因此,YouTube使用这两种传输方式。
另一件需要考虑的事情是,YouTube很受欢迎,因为“它只是有效”。 RTSP并不总是通过路由器很好地支持,这会阻止在桌面上使用它。 另外值得注意的是,m.youtube.com不会像youtube.com那样传输相同的视频文件。
如果你做了一些wirehark捕获,你应该能够捕获协议和视频流。
是的,目前没有视频流本身的FEC,但在Chrome上,他们已经开始在其主干中包含一些请求(参见Quic协议)。