> 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