[Live-devel] Our C++ CustomH264Sink derived classes' afterGettingFrame methods shown below are not recognizing the IFrame bytes supposed to be contained in a H264 packet generated from a file containing 5 minutes of Live555 H264 video data.

Ross Finlayson finlayson at live555.com
Thu Sep 24 19:23:32 PDT 2015


Does the “testRTSPClient” demo application work OK for you (with the same RTSP/RTP (I assume) source)?  If so, you should start by modifying the implementation of the “DummySink” class.

Note that - for H.264 video - each ‘frame’ that gets delivered from a H.264 RTSP/RTP stream (via a “H264VideoRTPSource” object) will be a H.264’ NAL unit’, not (necessarily) a complete video frame (i.e., picture).  Also, these NAL units will *not* begin with a ‘start code’.  It is your job to parse/decode each H.264 NAL unit, as appropriate.

Note also that calling “curPacketMarkerBit()” (to get the RTP ‘M’ bit) is just a hint.  This bit is *supposed to* indicate the last NAL unit of a ‘picture’, but you should not rely on this.  Once again, you need to parse/decode each H.264 NAL unit to figure out what it means.


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/20150924/70c24632/attachment.html>


More information about the live-devel mailing list