繁体   English   中英

检测HTML5视频的H264配置文件和级别

[英]Detect H264 profile and level for HTML5 video

我有一堆mp4文件,都是用H264 High profile level 4.x编码的。 我们希望使用HTML5视频显示它们,以便跨设备交付(从手机到连接的电视)。 我知道这些文件可能无法在所有设备上运行,尤其是较旧的设备,因此我们正在考虑替代方案(例如为用户显示警告消息或为文件创建基线再现)。 我需要检查JavaScript是否给定设备可以读取给定的H264配置文件和级别,我不确定它是如何工作的。

我读过http://diveintohtml5.info/detect.html ,它提供了如下功能

function supports_h264_baseline_video() {
  if (!supports_video()) { return false; }
  var v = document.createElement("video");
  return v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');
}  

这告诉我H264基线配置文件 - 例如如何检测H264高配置级别4.1?

在我研究HTML5视频和mime类型的过程中,我从whatwg.org找到了这个链接 它说:

视频编解码器

H.264 Baseline: avc1.42E0xx, where xx is the AVC level
H.264 Main: avc1.4D40xx, where xx is the AVC level
H.264 High: avc1.6400xx, where xx is the AVC level 

XX表示为十六进制值。 因此,在您的示例中,级别3.0是1E。

如果要针对H264 High profile 4.1进行测试,则要测试的mime类型为avc1.640029。 您可以使用diveintohtml5.info中的函数来测试您的mime类型。

另外,如果你想要广泛的设备覆盖,你可能最好只为每个文件生成一个H264主配置文件再现,因为它将在大多数常见设备上播放(这是我今天的工作方式,除非我有特定于设备的设备需求)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM