Parsing H264 in mdat MP4

☆樱花仙子☆ 提交于 2019-12-20 09:31:57

问题


I have a file that only contains the mdat atom in a MP4 container. The data in the mdat contains AVC data. I know the encoding parameters for the data. The format does not appear to be in the Annex B byte stream format. I am wondering how I would go about parsing this. I have tried searching for the slice header, but have not had much luck.

Is it possible to parse the slices without the NAL's?


回答1:


AVC NAL units are in the following format in MDAT section: [4 bytes] = NAL length, network order; [NAL bytes] Shortly, start codes are simply replaced by lengths.




回答2:


Be careful! The NAL Length is not required to be 4! The AvcConfigurationBox ('moov/trak/mdia/minf/stbl/stsd/avc1/avcC') contains a field 'lengthSizeMinusOne' specifying the length. But the default is 4.




回答3:


I found what michael was talking about defined in section 5.2.3 of ISO 14496-15.

Sebastian's answer refers to section 5.2.4.1.1 and 5.3.4.1.2.

You will not be able to parse the slices in the 'mdat' box without copies of the SPS and PPS from the 'avcC' box (defined in section 5.2.4.1.1)



来源:https://stackoverflow.com/questions/5544696/parsing-h264-in-mdat-mp4

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!