[Live-devel] Regarding the start code handling in h264

Tony fantasyvideo at 126.com
Wed May 28 23:49:54 PDT 2014


But in the second case, even if I din't parse the data, and every nalu is started with start code, but live555 worked correctly.
The h264 data client recieved doesn't have start code. So live555 has removed them?






At 2014-05-29 09:42:15, "Ross Finlayson" <finlayson at live555.com> wrote:

In each case - because your input source is H.264 video - your input source object (i.e., your subclass of "FramedSource") must deliver NAL units - *without* any 'start code' - one at a time to a "H264VideoStreamDiscreteFramer" (*not* a "H264VideoStreamFramer").


   One is living video,  other device transfer their h264 data to my system, I copied them to one queue, and the framed source would get one sample every time, these sample is  h264 nalu, and isn't add start code (0x00,0x00,0x00,0x01).


As noted above, you must deliver one NAL unit at a time - without a start code - to a "H264VideoStreamDiscreteFramer".




   Other is VOID, every time video framed source would read one sample in mp4 file. This sample contains more than one nalu, and each nalu would be started with (0x00,0x00,0x00,0x01)


In this case, you need to parse the input data, so that (as above) you are delivering one NAL unit at a time - without a start code - to a "H264VideoStreamDiscreteFramer".


The data that gets delivered to a "H264VideoRTPSink" - and thus across the network - must *never* contain a start code!



Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20140529/10cfd78f/attachment.html>


More information about the live-devel mailing list