Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MP4 / MOV H.264 - determine bytestream standard (Annex B or AVC)

how can I figure out if the video bytestream of a MP4 or MOV H.264 videofile is decoded using the AVC standard or the Annex B standard? Both standards can start their NALUs with 0x000001.

In the Annex B Standard every NALU starts with a start code 0x000001 or 0x00000001. In the AVC standard the length field can also be 0x00000134. Is there any additional information located in the MP4 file, which give me the hint, that the start bytes (0x00000134) are the length field of the AVC standard and not the start code 0x000001 of a Annex B standard video?

In my specific example, my MP4 video file has the AVC standard and my MOV file has the Annex B Standard. Both have the "NALULengthSizeMinusOne" field set to the value 4.

like image 895
user5580578 Avatar asked Nov 19 '15 10:11

user5580578


1 Answers

AnnexB is not supported at all in mp4/mov.

like image 67
szatmary Avatar answered Oct 30 '22 07:10

szatmary