[Live-devel] Develop H.264 Support

Dave Arnold darnold at futurec.net
Wed Dec 27 08:51:00 PST 2006


>>Most of the time, when no container is used, raw H264 frames are 
>>simply put in a ".h264" file.

>The trouble with this approach is that I'm not sure whether 'raw 
>H.264 frames' - simply concatenated together with nothing separating 
>them - can be parsed into discrete NAL units.  (This would be 
>necessary in order to stream the data.)

>People sometimes overcome this problem by prepending the byte string 
>0x00 0x00 0x01 to each NAL unit in the file - allowing the NAL units 
>to be parsed from the file later.  However, I'm not sure if that's an 
>official file format that's written up anywhere.

I believe the 0x00 0x00 0x01 sequence is defined in Annex B (Byte Stream
Format) of DRAFT ITU-T Rec. H.264 (2002 E) which states, "This annex
specifies syntax and semantics of a byte stream format for use by
application that deliver some or all of the NAL unit stream as an ordered
stream of bytes or bits within which the locations of NAL unit boundaries
need to be identifiable from patterns in the data..."

This "Byte Stream" format would seem suitable as a storage format.  Also
please note that VLC recognizes this byte stream format.  However, since
H.264 doesn't specify frame rate and this byte stream format doesn't specify
frame rate, there must be some other mechanism to specify it.

Dave


The information contained in this electronic mail transmission is intended only for the use of the individual or entity named above and is privileged and confidential. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Any dissemination, distribution or copying of this communication other than to the person or entity named above is strictly prohibited. If you have received this communication in error, please immediately delete it from your system.




More information about the live-devel mailing list