[Live-devel] Rendering a frame from H264

Ross Finlayson finlayson at live555.com
Thu Sep 6 20:07:24 PDT 2012


> I have cloned testRTSPClient.cpp (using a non modified version assuringly i get packets from the video stream appearing in debug), below is modified version of continueAfterSETUP

No, you're totally on the wrong track here.  (For starters, the "H264VideoRTPSink" class is used only by *servers* - i.e., when *transmitting* H.264/RTP packets.  It's completely irrelevant for you.)

To update (a copy of) the "testRTSPClient" code so that it renders video data is fairly straightforward: You simply have to change the "DummySink" class, so that *it* does the rendering (or calls a decoder library to do the rendering).  In particular, you would change the implementation of the "afterGettingFrame()" function - at line 479.  That's it!

(Actually, for H.264 video, there is one more thing that you'll probably need to do.  H.264 streams have out-of-band configuration information (SPS and PPS NAL units) that you may need to feed to the decoder to initialize it.  To get this information, call "MediaSubsession::fmtp_spropparametersets()" (on the video 'subsession' object).  This will give you a (ASCII) character string.  You can then pass this to "parseSPropParameterSets()", to generate binary NAL units for your decoder.)


> am little worried about The total received frame size exceed... lines but whatever I change OutPacketBuffer::maxSize it seems to make no difference?

I don't understand this.  Changing "OutPacketBuffer::maxSize" - at runtime - should fix this.


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/20120906/d8f828ac/attachment.html>


More information about the live-devel mailing list