[Live-devel] Live555 RTSP Transport (TCP) of live H264 Stream leads to artifacts as I-Frames are sent
Ross Finlayson
finlayson at live555.com
Fri Nov 20 20:56:44 PST 2015
Are you sure that you’re not seeing network packet loss? People often have trouble streaming H.264 video with extremely large I-frames, if each I-frame gets encoded as a single NAL-unit. The problem with this is that these NAL units get sent as a (very long) sequence of RTP packets - and if even one of these RTP packets gets lost, then the whole NAL (I-frame in this case) will get discarded by the receiver; see
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/2013-May/016994.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/018433.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-April/019228.html
It’s better to encoder large I-frames as a sequence of ‘slice’ NAL units.
People also often have trouble streaming extremely VBR streams (like yours); sometimes the problem is that the receiving media player (e.g., VLC) has trouble rendering/displaying them properly (i.e., nothing that we can do much about).
In any case, I suggest running “openRTSP” <http://www.live555.com/openRTSP/> as your client - on the same host as the server - to see if the resulting ‘raw’ video file (if renamed to have a “.h264” filename extension) will play properly in VLC). That should tell you more about what’s going on.
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list