我在网页上使用HTML5的<video>
标签播放一段1080p的视频。
是否有一个简单(至少较为简单)的JavaScript方法来检测带宽,以便如果用户的连接速度过慢无法流畅播放视频,我可以将其替换为低质量版本? 类似于YouTube的“自动”视频尺寸选择器背后的逻辑。
我在网页上使用HTML5的<video>
标签播放一段1080p的视频。
是否有一个简单(至少较为简单)的JavaScript方法来检测带宽,以便如果用户的连接速度过慢无法流畅播放视频,我可以将其替换为低质量版本? 类似于YouTube的“自动”视频尺寸选择器背后的逻辑。
videojs-contrib-hls
: "该项目通过为支持媒体源扩展或支持Flash的浏览器提供HLS的polyfill来解决这种情况。您可以部署单个HLS流,针对常规HTML5视频API进行编码,并在所有大型Web设备类别上创建快速、高质量的视频体验。" 太棒了!正是我需要的!非常感谢! - That Brazilian GuywebkitVideoDecodedByteCount: 0
webkitAudioDecodedByteCount: 0
这些应该足以确定客户端解码视频的速度。随着视频的播放,您将跟踪这些字节的差值量,这将给出客户端处理视频的字节/秒。
我讨厌那个功能!它通常是错的,如果我想要等待2个小时才能加载我的视频,那么我就会等!没有可靠的方法可以准确地测量这一点,除非向用户发送一个大的虚拟文件并测量到达他的时间。
你应该依赖用户输入(并正确记住它!与YouTube不同!)。
简而言之,不要以YouTube为榜样。
有些付费服务可以提供对方所在带宽的指示,例如netspeed。
这些数据的准确性可能已经足够了,但我自己还没有测试过。
srcset
的东西来处理视频?这将解决90%的情况,用户从手机加载视频... - benzkji