YouTube是否通过TCP流式传输视频?

时间:2013-10-27 16:10:09

标签: tcp youtube stream udp rtsp

我只是使用wireshark嗅探了一些流量,并注意到YouTube流量依赖于TCP。我想,他们正在使用UDP?但似乎他们会使用HTTP八位字节流。 YouTube是否真的使用TCP进行流式传输,或者我错过了哪些内容?

3 个答案:

答案 0 :(得分:14)

因为他们需要TCP提供的所有内容(慢启动,发送调步,指数退避,接收窗口,重新排序,重复拒绝等),他们要么必须使用TCP,要么尝试自己做所有这些事情。他们无法比每个操作系统优化的TCP实现做得更好。

答案 1 :(得分:10)

显然,谷歌目前正在试验自己的协议实现,如QUIC(Quick UDP Internet Connection),正如人们在检查HTTP响应时所看到的那样

HTTP/1.1 200 OK
...
Content-Type: video/mp4
Alternate-Protocol: 80:quic
...

然而,目前,他们似乎依赖TCP,就像David之前提到的那样。

答案 2 :(得分:1)

来自http://www.crazyengineers.com/threads/youtube-use-tcp-or-udp.38419/

  

...当然youtube页面使用http [通过TCP]。真实的事情不会发生   通过http页面,但嵌入在该页面中的Flash对象。该   youtube上出现的flash对象是视频flash播放器。该视频   flash播放器充当内容的iframe(技术上不正确的术语)   将通过flash对象调用流式传输。用于存储媒体   内容是由youtube安装的媒体服务器的内容   按下播放按钮时调用。

     

用于流媒体到Flash播放器实时流媒体   使用协议(RTSP)。 Flash播放器上的播放按钮充当RTSP   调用媒体的调用者和媒体通过UDP数据包流式传输。   事实上,您不需要从页面迁移到任何地方,因为   嵌入对象调用视频而不是http页面,但是作为对象   一旦你关闭它就嵌入在http页面上,对象也会被关闭。