youtube如何确定默认视频质量


How does youtube determine default video quality

我注意到youtube和dailymotion有一种机制,可以根据您的互联网连接为您"选择"视频质量。例如,由于我有1 mbps的互联网连接,视频负载默认为360 p。对于那些具有较高互联网连接视频负载(480p/720p/1024 )的用户

youtube如何确定我的网络连接?

实现这样的功能肯定会减少主机的带宽并增强用户体验。

我喜欢一个基于php的解决方案,这样我就可以尝试在我的网站

上实现它

确定基于网络的视频播放器的可用带宽是在客户端完成的。如果客户端(即播放器)认为没有足够的带宽在没有缓冲的情况下保持当前比特率的播放,则会向服务器请求较低比特率的格式副本(反之亦然)。这是一种众所周知的自适应比特率流机制——在启动时和固定的时间间隔检查客户端带宽,基于这些结果,播放器能够做出反应以保持良好的播放。PHP作为一种服务器端脚本语言,不能用于这部分过程。

对于基于Youtube flash的播放器,我猜他们使用了自己风格的动作脚本带宽检测。如果你使用FMS,有一种原生的方法可以实现这一点。否则,您需要自己编写代码。这里是给你一个如何实现这一点的想法。

对于JavaScript,您可以在这里查看。根据可用的互联网连接速度,你可以让你的玩家做出决定。

您可以考虑查看MPEG DASH,它有一个内置带宽检测的JS库。