我有一个基本的网页,试图在HTML5视频标签中加载一个4K视频:
https://s3.amazonaws.com/pvxtesting/4ktest/index.html
这在桌面Chrome浏览器上工作,但在移动Chrome上却不能工作(在iPhone 8和Nexus 9上验证过)。
我们设法确定了一个同样编码的视频(同样的分辨率和比特率),其持续时间较短,文件大小为2MB,仅在一些移动浏览器上开始工作。但是,持续时间更长、文件大小更大的视频(例如具有15 MB的示例)无法加载。网络监视器显示缓冲发生在1.4MB以上,但突然停止,而没有更新HTML5视频readyState。在移动浏览器上,对于尺寸超过1080 p的视频,我们通常会注意到这个问题。
移动浏览器对AVC有视频分辨率/比特率限制吗?如果是这样,我们如何在运行时确定这一点?
发布于 2017-10-20 05:22:52
HTML5规范只考虑视频格式,而不考虑文件大小。对于大型视频文件,如果内存有限,浏览器可能加载它,也可能没有正确加载它。您可以通过HTMLVideoElement::canPlayType检查是否支持视频格式,但即使这样也不能返回有保证的结果,因为以下三个可能的返回值是
对于巨大的视频,您可能需要考虑通过websockets将其流到<video>标记。这应该更可靠,并给你更多的控制。
https://stackoverflow.com/questions/46842667
复制相似问题