>     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/

_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to