[Live-devel] Media server stack overflow when large number of streams started simultaneously

Ross Finlayson finlayson at live555.com
Mon Apr 18 17:12:28 PDT 2016


Thanks for the note.

If you are streaming just a single file - or at most a small number of files, known in advance - then you would probably be better off using your own ‘custom’ RTSP server application, rather than the pre-packaged “LIVE555 Media Server”.  If you do this - e.g., using the “testOnDemandRTSPServer” demo application code as a model - then you could use your own “FileServerMediaSubsession” subclass - better suited for your environment - rather than the default “H264VideoFileServerMediaSubsession”.

In particular, because you know - in advance - which file(s) you will be streaming, you can know - in advance - the SPS and PPS NAL units for each file.  Therefore, you can define your own version of the “createNewRTPSink()” virtual function that calls one of the versions of “H264VideoRTPSink::createNew()” that take SPS and PPS NAL units as parameter (see “liveMedia/include/H264VideoRTPSink.hh”).  If you do this, then you won’t need the problematic “getAuxSDPLine()” hack, and therefore your custom subclass of “FileServerMediaSubsession” need not redefine the “getAuxSDPLine()” virtual function (in which case it will just use the default implementation, which will get the SPS/PPS information from the “H264VideoRTPSink” object).


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/




More information about the live-devel mailing list