我有一个基本网页,试图在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的视频分辨率/比特率限制?如果是这样,我们如何在运行时确定这一点?
答案 0 :(得分:0)
HTML5规范仅考虑视频格式而非文件大小。对于大型视频文件,如果内存有限,浏览器可能会也可能不会正确加载它。您可以通过HTMLVideoElement::canPlayType
检查是否支持视频格式,但即使这样也不会返回保证结果,因为三个可能的返回值是
对于大型视频,您可能需要考虑通过websockets将其流式传输到<video>
标记。这应该更可靠,并为您提供更多控制。