[Live-devel] H264 RTP multicast

Ross Finlayson finlayson at live555.com
Thu Mar 27 20:43:37 PDT 2014


> From the encoder, I get buffers with multiple NAL Units. NAL Units are all with 0x00000001 start codes. I strip this codes from the buffers, break the buffer and send the packets as separate NAL units.

Yes, this is correct (provided that you deliver NAL units to the downstream "H264VideoStreamDiscreteFramer" one at a time)


> Also, I get NAL Units with fragments.

What specifically do you mean by "fragments" here?  Do you mean slices?  I.e., are you talking about NAL units that each represent just one 'slice' of a frame (picture)?  If so, then yes, we support this.  You can treat these NAL units just like any other; deliver them (one at a time) to the downstream "H264VideoStreamDiscreteFramer".

Or are you instead referring to multiple chunks of data (that are *not* NAL units themselves) that, if combined together, form a single (large) NAL unit?  If so, then you *must not* deliver these chunks of data separately.  Instead, you *must* combine these chunks into a single NAL unit, and deliver this completely (without the 'start code', of course) to the downstream "H264VideoStreamDiscreteFramer").

Another thing to be aware of is that if a NAL unit can be very large, you may need to change the value of "OutPacketBuffer::maxSize" (in "testH264VideoStreamer.cpp" from 100000 (bytes) to something larger.

Far better, though, is to (if possible) reconfigure your encoder to break up such large NAL units into multiple 'slice' NAL units.


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/20140327/805e4e01/attachment-0001.html>


More information about the live-devel mailing list