[Live-devel] low perfomance in "onDemandRTSPServer" when connecting with multiple clients

Ross Finlayson finlayson at live555.com
Tue Apr 15 08:09:43 PDT 2014


> I have developed a RTSP server based on the example found in testOnDemandRTSPServer.cpp. The application can stream data from files and also from different live sources (to do that i'm using an RTSP client which i developed some time ago, also based on the Live555 library).

FYI, you could also use our "testRTSPClient" demo application for this.  It can stream from multiple "rtsp://" URLs concurrently.


> I have implemented my own "FramedSource" subclass and differents subclasses of "OnDemandServerMediaSubsession" depending on the video encoding.
> 
> The application works fine when just one client is connected to the server, even with high resolution videos. However, when more clients connect to the different sessions added to the RTSPServer instance of my server, the performance decreases a lot.
> 
> I am talking that just with two clients connected, the rate at which the server stream the input of two different sources is really low.
> 
> There is no network problem, this happens also in a local scenario (server and clients running in the same machine).
> 
> The %CPU and memory used by the server are very low also, so, the problem does not come from the machine running the server.

That's strange.  I suspect that the problem is (somehow) related to your 'data source' implementation - i.e., your "FramedSource" subclass.

What happens when you don't just 'base' your server on "testOnDemandRTSPServer", but actually use the (original, unmodified) "testOnDemandRTSPServer" code?  What happens when two clients request the same stream (from a file)?  And do things change at all when you change your server to use a single input source for all concurrent clients - i.e., if you change line 29 of "testOnDemandRTSPServer.cpp" to
	Boolean reuseFirstSource = True;
?


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/20140415/ff6acdff/attachment.html>


More information about the live-devel mailing list