php - YouTube 如何确定默认视频质量

标签 php youtube video-streaming

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

youtube 如何确定我拥有哪个互联网连接?

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

我想要一个基于 php 的解决方案,这样我就可以尝试在我的网站上实现它

最佳答案

确定基于网络的视频播放器的可用带宽是在客户端完成的。如果客户端(即播放器)认为它没有足够的带宽来维持当前比特率的播放而不缓冲,它会向服务器请求较低的比特率再现(反之亦然)。这是众所周知的自适应比特率流媒体机制 - 在启动时以固定的时间间隔检查客户端带宽,并根据这些结果,播放器能够使用react以保持良好的播放。 PHP 作为服务器端脚本语言不能用于这部分过程。

对于基于 Youtube Flash 的播放器,我猜他们使用自己风格的 ActionScript 带宽检测。如果您使用FMS,有一种 native 方法可以实现 this 。否则你需要自己编码。 Here是为了让您了解如何实现这一点。

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

您可以考虑查看具有 JS lib 的 MPEG DASH内置带宽检测。

关于php - YouTube 如何确定默认视频质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23285123/

相关文章:

php - Owncloud 同步应用程序 LDAP 身份验证

php - PHP 默认情况下类的可见性是多少?

android - 在Android应用中使用Youtube API缩放时,视频会暂停

javascript - 在 youtube api 中检测播放事件

ffmpeg - 从 MPEG-4 获得 PTS?

PHP 准备语句通知 : Only variables should be passed by reference

php - Windows上的信号处理

java - 在android中通过http url调用intent

html - 如何通过隐藏或屏蔽视频流 URL 来保护它?

java - 如何在直播 Android 中播放视频之前显示进度条?