来自.mp4的H.264解码器配置记录的格式 [英] Format of H.264 decoder configuration record taken from .mp4

查看:457
本文介绍了来自.mp4的H.264解码器配置记录的格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在检查从Android设备录制的.mp4视频文件中包含的解码器配置记录.某些设备在解码器配置记录中写入了奇怪或不正确的参数.

I am inspecting decoder configuration record contained in .mp4 video file recorded from Android devices. Some devices have strange or incorrect parameters written in decoder configuration record.

这是来自Galaxy Player 4.0的示例,它是错误的:

Here is sample from Galaxy Player 4.0 which is incorrect:

DecoderConfigurationRecord: 010283f2ffe100086742000de90283f201000568ce010f20
       pictureParameterSetNALUnits : 68ce010f20
       AVCLevelIndication : 242
       AVCProfileIndication : 2
       sequenceParameterSetNALUnits : 6742000de90283f2
       lengthSizeMinusOne : 3
       configurationVersion : 1
       profile_compatibility : 131
       profile_idc : 103
       constraint_set : 16
       level_idc : 0

AVCLevelIndication == 242是错误的,因为标准状态51是最高值.

AVCLevelIndication == 242 is wrong because standard states 51 is the highest value.

AVCProfileIndication应该位于(66,77,88,100,120,..)

AVCProfileIndication should be in (66, 77, 88, 100, 120, ..)

profile_compatibility称为constraint_set?_flag s,并且保留了2个最低有效位,并设置为等于0

profile_compatibility is called constraint_set?_flags and 2 least significant bits are reserved and seposed to be equal to 0

它应该是这样的:

DecoderConfigurationRecord: 0142000dffe100086742000de90283f201000568ce010f20
       pictureParameterSetNALUnits : 68ce010f20
       AVCLevelIndication : 13
       AVCProfileIndication : 66
       sequenceParameterSetNALUnits : 6742000de90283f2
       lengthSizeMinusOne : 3
       configurationVersion : 1
       profile_compatibility : 0
       profile_idc : 103
       constraint_set : 16
       level_idc : 0

如何从profile_idclevel_idc推导出AVCLevelIndicationAVCProfileIndication?

是否可以通过将它们与SPS参数进行比较来检查或修复错误的参数?

Is there a way to check or possibly fix wrong parameters by comparing them to SPS parameters ?

推荐答案

level_idc10 * level.也就是说,如果您使用级别3.1,它将是31.

level_idc is 10 * level. i.e. if you're using level 3.1, it will be 31.

profile_idcISO/IEC 14496-10的附件A中指定.例如,基准配置文件为66,主配置文件为77,扩展配置文件为88.

profile_idc is specified in Annex A of ISO/IEC 14496-10. Baseline profile is 66, Main Profile is 77 and Extended Profile is 88 for example.

此外,您可以分别在7.3.2.1节和7.3.2.2节中看到SPS RBSP和PPS RBSP的语法.注意ue(x)se(x)表示无符号指数golomb编码和有符号指数golomb编码.

Additionally, you can see the syntax for the SPS RBSP and PPS RBSP in section 7.3.2.1 and 7.3.2.2 respectively. Note ue(x) and se(x) indicate unsigned exponential golomb coding and signed exponential golomb coding.

抱歉. AVCProfileIndicationAVCLevelIndication应该与profile_idclevel_idc

这篇关于来自.mp4的H.264解码器配置记录的格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆