html5视频标签编解码器属性

前端之家收集整理的这篇文章主要介绍了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)
...

猜你在找的HTML5相关文章