[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