【问题标题】:How does youtube determine default video qualityyoutube 如何确定默认视频质量
【发布时间】:2014-04-25 05:51:45
【问题描述】:
我注意到 youtube 和 dailymotion 有一种机制可以根据您的互联网连接为您“选择”视频质量。例如,由于我有 1 mbps 的互联网连接,默认情况下以 360p 加载视频.对于那些在 480p/720p/1024 具有较高互联网连接视频负载的用户
youtube 如何确定我拥有的互联网连接?
实现这样的功能肯定会减少主机的带宽并增强用户体验。
我想要一个基于 php 的解决方案,以便我可以尝试在我的网站上实现它
【问题讨论】:
标签:
php
youtube
video-streaming
【解决方案1】:
确定基于网络的视频播放器的可用带宽是在客户端完成的。如果客户端(即播放器)认为它没有足够的带宽来维持当前比特率的播放而不进行缓冲,它会向服务器请求较低的比特率再现(反之亦然)。这是一种众所周知的自适应比特率流式传输机制——客户端带宽在启动时以固定的时间间隔进行检查,并且基于这些结果,播放器能够做出反应以保持良好的播放。 PHP 作为服务器端脚本语言不能用于这部分过程。
对于基于 Youtube flash 的播放器,我猜他们使用自己的动作脚本带宽检测方式。如果您使用 FMS,则有一种本地方式可以实现 this。否则,您需要自己编写代码。 Here 是给你一个关于如何实现它的想法。
对于 JavaScript,您可以查看 here。然后,您可以根据可用的互联网连接速度让您的播放器做出决定。
您可以考虑查看具有 JS lib 的 MPEG DASH,其中内置了带宽检测功能。