Dear Ross,
Thank you very much for your explanation , I'll try to follow your advice.
Best regards,
Saverio
Il 22/07/2015 17:01, Ross Finlayson ha scritto:
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/
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel