[Live-devel] live555MediaServer info

Ross Finlayson finlayson at live555.com
Wed Jul 22 08:01:21 PDT 2015


> I've this network infrastructure:  
> 
> - Server1 with live555MediaServer installed that stream a MPEG Transport Stream file .ts on the net (This file .ts is growing)
> - Server2 with live555ProxyServer installed that receives rtsp stream of Server1 and proxy it to some RTSP clients
> It works fine but now when a RTSP Client connects to Server2 receives the video stream ever since the beginning of the file .ts.
> 
> Is it possible to modify live555MediaServer code or live555ProxyServer to set the start of stream always at 90% of file lenght?

The “LIVE555 Media Server” is intended to be a complete application - for streaming complete media files (i.e., starting from the beginning) - and was not intended to be modified (although anyone is, of course, free to do so, subject to the LGPL).  The reason why the first client of the proxy server receives data from the start of the file is because the because your ‘back end’ server is the “LIVE555 Media Server”, and this server works by streaming from the file, starting from the beginning.  (Note, however, that if you later start a second concurrent client of the proxy server, then this second client will receive the stream starting at the same point that the first client is currently at - i.e., not at the start of the file.)

Therefore, if you want to change this behavior, you should do so by developing your own ‘back end’ server that handles each request - from the ‘proxy server’ - by starting the stream at whatever point you want (rather than the beginning of the file).  To do this, I suggest that you use the “testOnDemandRTSPServer” demo application code (in the “testProgs”) directory as a model.  In particular, you would develop your own “OnDemandServerMediaSubsession” subclass; see
	http://live555.com/liveMedia/faq.html#liveInput-unicast
Note that you would need to implement the “createNewStreamSource()” and “createNewRTPSink()” pure virtual functions.  Your implementation of “createNewRTPSink()” would be exactly the same as the one that’s in “liveMedia/MPEG2TransportFileServerMediaSubsession.cpp”.  Your implementation of “createNewStreamSource()” would work by seeking initially to whatever point in the file you want.

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/20150722/160f12cd/attachment.html>


More information about the live-devel mailing list