html5视频标签编解码器属性

我试图在视频标签中使用特定的视频/音频编解码器
<video poster="movie.jpg" controls>
    <source src="movie.mp4" type='video/mp4; codecs="avc1.4D401E,mp4a.40.2"'/>
    <p>This is fallback content</p>
</video>

但是找不到正确的编解码器语句来播放视频,我已经下载了一个视频分析仪,可以看到它的avc1,并且可以看到音频map.40.2,但可以解决其余的编解码器,什么是4d401e在上面是什么意思?

干杯
托比

解决方法

编解码器参数由 RFC 6381指定。具体来说,请参见 section 3.3的avc1和mp4a值的含义。

在avc1.4D401E的情况下,avc1表示H.264视频,后面跟着一个点和三位由the H.264 standard定义的2位十六进制数字:

> profile_idc
>包含constraint_set标志的字节(当前的约束_set0_flag通过constraint_set5_flag和reserved_zero_2bits)
> level_idc

一些例子:

> avc1.42E01E:H.264约束基线配置文件级别3
> avc1.4D401E:H.264 Main Profile Level 3
> avc1.64001E:H.264 High Profile Level 3

这些也是序列参数集的第二,第三和第四个字节以及MP4文件中的AVC配置框。您可以使用诸如mp4file:mp4file –dump movie.mp4之类的程序转储这些字节。查找avcC(AVC配置)框和AVCProfileIndication,profile_compatibility和AVCLevelIndication的十六进制值。

对于mp4a.40.2,mp4a表示MPEG-4音频。后跟一个点和十六进制的ObjectTypeIndication(mp4file输出中的objectTypeId),可以在the MPEG4 registration site查找。如果这个十六进制值为40(ISO / IEC 14496-3音频),则后面是另一个点和一个音频对象类型为十进制。这些列在ISO / IEC 14496-3标准和Wikipedia中,并且对应于DecoderSpecificInfo(decSpecificInfo)的前5位(除非这些位等于31,在这种情况下将32加到接下来的6位)。 mp4a.40.2表示AAC LC音频,这通常与H.264 HTML5视频一起使用。

例如,编解码器=“avc1.42E01E,mp4a.40.2”对于下面的电影是正确的:

$ mp4file --dump movie.mp4
...
    type avcC (moov.trak.mdia.minf.stbl.stsd.avc1.avcC)  ◀━━ avc1
     configurationVersion = 1 (0x01)
     AVCProfileIndication = 66 (0x42)    ◀━━ 42
     profile_compatibility = 224 (0xe0)  ◀━━ E0
     AVCLevelIndication = 30 (0x1e)      ◀━━ 1E
...
    type esds (moov.trak.mdia.minf.stbl.stsd.mp4a.esds)  ◀━━ mp4a
     version = 0 (0x00)
     flags = 0 (0x000000)
     ESID = 2 (0x0002)
     streamDependenceFlag = 0 (0x0) <1 bits>
     URLFlag = 0 (0x0) <1 bits>
     OCRstreamFlag = 0 (0x0) <1 bits>
     streamPriority = 0 (0x00) <5 bits>
     decConfigDescr
      objectTypeId = 64 (0x40)           ◀━━ 40
      streamType = 5 (0x05) <6 bits>
      upStream = 0 (0x0) <1 bits>
      reserved = 1 (0x1) <1 bits>
      bufferSizeDB = 0 (0x000000) <24 bits>
      maxBitrate = 78267 (0x000131bb)
      avgBitrate = 78267 (0x000131bb)
      decSpecificInfo
       info = <2 bytes>  11 90  |..|     ◀━━ 2 (first 5 bits in decimal)
...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码
HTML5使用DOM进行自定义控制
使用HTML5 Canvas绘制阴影效果的方法
使用PHP和HTML5 FormData实现无刷新文件上传
如何解决HTML5 虚拟键盘出现挡住输入框的问题
HTML5中div和section以及article的区别分析
html5和CSS 实现禁止IOS长按复制粘贴功能
html5 touch事件实现触屏页面上下滑动
canvas 模拟实现电子彩票刮刮乐的代码
HTML5 Plus 实现手机APP拍照或相册选择图片上传的功能
Android自定义环形LoadingView效果
HTML5 canvas绘制五角星的方法
html5使用html2canvas实现浏览器截图
使用Canvas处理图片的方法介绍
利用Canvas模仿百度贴吧客户端loading小球的方法