我可能是在这一个完全疯了,但它似乎是下载/缓冲的YouTube视频速度为开头更快,进一步缓冲点从当前播放的标记变得越慢缓冲去。

我疯了呢,还是其他人?

以这种方式工作

假设后者,他们如何做到这一点的任何理论?它是服务器端或客户端?我认为它必须是客户端,但谁知道?不是我的,这就是为什么我问!

有帮助吗?

解决方案

这是我从Wireshark的转储看,他们做多个请求(与参数“范围”)的服务器缓冲区的内容。客户端只请求下一部分,当他需要它。

GET /videoplayback?
sver=3&
key=yt1&
sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&
algorithm=throttle-factor&
upn=L4m-ID0n0V0&
expire=1334882299&
factor=1.25&
ipbits=8&
ip=77.0.0.0&
fexp=912300%2C919303%2C911623&
source=youtube&
range=8908800-10690559&
cp=U0hSSVhTUF9OU0NOMl9QTVRDOjhGTXRjbEpBNzls&
burst=40&
signature=20F9219AACD9249B3517F56ECFE8B12C6B001D2F.BDDD25B61745E0F6E0BBAC7E792C121AA67A4C7C&
keepalive=yes&
itag=34&
cm2=0&
id=9cc8ae37c50b77f7 HTTP/1.1

否则,这种带宽限制的仅是可行的,如果客户端“有控制”在服务器上,也就是他知道自己需要或者请求(例如有:Youtube渐进式下载),或定期告诉服务器,在那里他是(例如:。RTCP / RTMP / RTP流)

其他提示

这是在服务器侧进行,也没有办法做到这一点在客户端。

有许多不同的方式来服务的视频,因此这将取决于您所使用的服务器技术,如果你想设置它自己,或者你可以只使用类似RTMP(通过Flash媒体服务器或Red 5等)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top