Flash中的YouTube风格节流

Flash中的YouTube风格节流,flash,youtube,bandwidth,buffering,throttling,Flash,Youtube,Bandwidth,Buffering,Throttling,在这一点上我可能完全疯了,但看起来YouTube视频的下载/缓冲速度在开始时更快,缓冲点距离当前播放标记越远,缓冲速度就越慢 是我疯了,还是其他人都是这样 假设是后者,有没有关于他们是如何做到这一点的理论?它是服务器端还是客户端?我想应该是客户端的,但谁知道呢?不是我,这就是为什么我要问 这是在服务器端完成的,没有办法在客户端完成 有许多不同的视频服务方式,因此,如果您想自己设置,这取决于您使用的服务器技术,或者您可以使用RTMP(通过Flash media server或Red 5等)之类的工

在这一点上我可能完全疯了,但看起来YouTube视频的下载/缓冲速度在开始时更快,缓冲点距离当前播放标记越远,缓冲速度就越慢

是我疯了,还是其他人都是这样


假设是后者,有没有关于他们是如何做到这一点的理论?它是服务器端还是客户端?我想应该是客户端的,但谁知道呢?不是我,这就是为什么我要问

这是在服务器端完成的,没有办法在客户端完成


有许多不同的视频服务方式,因此,如果您想自己设置,这取决于您使用的服务器技术,或者您可以使用RTMP(通过Flash media server或Red 5等)之类的工具。

从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流)