移动浏览器是否支持使用HTML5视频标记的4k视频?

时间:2017-10-20 05:05:59

标签: javascript android ios html5 google-chrome

我有一个基本网页,试图在HTML5视频标签中加载4K视频:

https://s3.amazonaws.com/pvxtesting/4ktest/index.html

这适用于桌面Chrome浏览器,但无法在移动Chrome上运行(在iPhone 8和Nexus 9上验证)。

我们设法确定具有较短持续时间且文件大小为2 MB的类似编码视频(相同分辨率和比特率)仅在某些移动浏览器上开始工作。但是较长持续时间和较大文件大小的视频(例如15 MB的示例)无法加载。网络监视器显示缓冲发生高达1.4 MB,然后突然停止,而不更新HTML5视频 readyState 。我们通常会在移动浏览器上针对1080p以上的视频观察此问题。

移动浏览器是否具有AVC的视频分辨率/比特率限制?如果是这样,我们如何在运行时确定这一点?

1 个答案:

答案 0 :(得分:0)

HTML5规范仅考虑视频格式而非文件大小。对于大型视频文件,如果内存有限,浏览器可能会也可能不会正确加载它。您可以通过HTMLVideoElement::canPlayType检查是否支持视频格式,但即使这样也不会返回保证结果,因为三个可能的返回值是

  • "大概"
  • "也许"
  • 空字符串(绝对不是)

对于大型视频,您可能需要考虑通过websockets将其流式传输到<video>标记。这应该更可靠,并为您提供更多控制。