确定HTML5 HLS流的当前再现

时间:2014-04-11 14:30:23

标签: html5 video http-live-streaming m3u8

我有一个HTML5 <video>元素,其来源为.m3u8HLS stream

我有一个M3U8有三种不同的演绎:640x360960x5401280x720

在桌面上我有一个用于播放视频的Flash Player,因此HTML5后备仅适用于移动设备(iOS和Android) - 我正在iPad上进行所有测试,一旦它正在工作,我会在Android上尝试一下,并希望一切都是一样的。

我的目标是,在任何时候,弄清楚视频元素正在播放的内容。当用户的带宽发生变化时,再现可能会发生变化。

我尝试使用.videoHeight属性,但无论下载的是什么,它总是返回480 - 这特别奇怪,因为480甚至不是一个选项。

有谁知道如何弄清楚正在下载的节目?

1 个答案:

答案 0 :(得分:1)

清理一些从未收到答案的旧问题:

不幸的是,这个是不可能的。大多数浏览器中的HTMl5视频规范和HTML5视频实现旨在消除播放视频所涉及的潜在魔力的所有。你给它一个来源,它播放。其他一切都是完全隐藏的,你无法访问。无法访问元数据通道,无法访问音频通道,无法访问比特率和分辨率信息,......

充其量我开发了猜测解决方案正在播放的解决方案。每隔10秒,通过AJAX加载1 MB文件。我测量了下载速度,以猜测它们当前的带宽。我知道如果你有两倍的所需带宽,QuickTime只会播放。因此,如果960x540再现需要1400 kbit / s,那么除非你的带宽为2800 kbit / s,否则它不会播放。

它不是很好(每分钟浪费6 MB的带宽),但它总比没有好。