MP4文件介绍
mp4文件由box组成,每个box分为Header和Data。其中Header部分包含了box的类型和大小,Data包含了子box或者数据,box可以嵌套子box。
下图是一个典型mp4文件的基本结构:
box结构
AVCDecoderConfiguration(AvcC)语法(解析sps、pps)
aligned(8) class AVCDecoderConfigurationRecord {
unsigned int(8) configurationVersion = 1;
unsigned int(8) AVCProfileIndication;
unsigned int(8) profile_compatibility;
unsigned int(8) AVCLevelIndication;
bit(6) reserved = ‘111111’b;
unsigned int(2) lengthSizeMinusOne;
bit(3) reserved = ‘111’b;
unsigned int(5) numOfSequenceParameterSets;//序列集数量
for (i=0; i< numOfSequenceParameterSets; i++) {
unsigned int(16) sequenceParameterSetLength ;//序列集长度
bit(8*sequenceParameterSetLength) sequenceParameterSetNALUnit;//序列集内容
}
unsigned int(8) numOfPictureParameterSets;//图像参数集数量
for (i=0; i< numOfPictureParameterSets; i++) {
unsigned int(16) pictureParameterSetLength; //图像参数长度
bit(8*pictureParameterSetLength) pictureParameterSetNALUnit;//图像参数集内容
}
}