[Live-devel] live555-2015-5-28 version rtsp server can't work correct when send HD h.264 stream

Ross Finlayson finlayson at live555.com
Sun May 31 11:50:57 PDT 2015


>     I use live.2015.05.28.tar.gz.  use live555MediaServer.cpp as rtsp server.   I have a HD h.264 stream , the nal unit is SPS,PPS,IDR,P,P,P....      I use openRTSP.exe and test RTSPClient.exe to receive the stream.  Both client receive SPS, PPS, P, P..they all didn't receive IDR frame.  their size is 32Bytes , 8 Bytes, 403709Bytes, 21937Bytes 9619Bytes...... .  The output log of the two clients shows they don't received I frame.

The problem is that your I-frame (IDR) NAL unit is excessive large (403709 bytes).  This has two problems:
1/ The receiving RTSP client does not have - by default - a large enough buffer to receive a NAL unit of this size.  You can increase this buffer size - e.g., in “openRTSP” using its "-b <buffer-size>” option.
2/ More importantly, the problem with NAL units this large is that they get fragmented into an extremely large number of RTP packets (in this case, at least 270 RTP packets).  *All* of these RTP packets have to be received at the far end; if even *one* of these RTP packets gets lost, then the entire NAL unit will be unrenderable - i.e., useless.  It is very likely that this is what has happened in your case.

A much better solution is to reconfigure your encoder so that it breaks up very large ‘I-frame’ NAL units like this into multiple ‘slice’ NAL units.  This will make your stream much more tolerant of packet loss.

This is an issue that I’ve commented on several times before:
	http://lists.live555.com/pipermail/live-devel/2011-December/014190.html <http://lists.live555.com/pipermail/live-devel/2011-December/014190.html>
	http://lists.live555.com/pipermail/live-devel/2012-August/015615.html <http://lists.live555.com/pipermail/live-devel/2012-August/015615.html>
	http://lists.live555.com/pipermail/live-devel/2013-May/016994.html <http://lists.live555.com/pipermail/live-devel/2013-May/016994.html>
	http://lists.live555.com/pipermail/live-devel/2014-June/018426.html <http://lists.live555.com/pipermail/live-devel/2014-June/018426.html>
	http://lists.live555.com/pipermail/live-devel/2014-June/018432.html <http://lists.live555.com/pipermail/live-devel/2014-June/018432.html>
	http://lists.live555.com/pipermail/live-devel/2014-June/018433.html <http://lists.live555.com/pipermail/live-devel/2014-June/018433.html>
	http://lists.live555.com/pipermail/live-devel/2014-June/018434.html <http://lists.live555.com/pipermail/live-devel/2014-June/018434.html>
	http://lists.live555.com/pipermail/live-devel/2015-March/019135.html <http://lists.live555.com/pipermail/live-devel/2015-March/019135.html>
	http://lists.live555.com/pipermail/live-devel/2015-April/019228.html <http://lists.live555.com/pipermail/live-devel/2015-April/019228.html>

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/20150531/409341be/attachment.html>


More information about the live-devel mailing list