[Live-devel] Multiple live and archived channels streaming for videoserver

Дима Зинченко dimazzz80 at mail.ru
Thu Sep 6 03:58:07 PDT 2007


Hi,
I' m writing some kind of video server that basically has to stream captured video from several cameras and also to allow access to video archive to stream video from specified time. Currently all this streams are MJPEG ones, containing JPEG buffer for every frame. Currently I am able to stream any specific &#171;live&#187; channel by making subclass of JPEGVideoSource to take arriving JPEG frames from memory buffers (similar to Elphel example). To stream second channel, I created second RTSP server with another port, so to access different streams I connect to &#171;rtsp://<url>:<port1>/&#187; and &#171;rtsp://<url>:<port2>/&#187;, but it seems like a wrong way to go. After reading some more of the source I decided that the right thing is to make subclass of RTSPServer with reimplemented lookupServerMediaSession that will analyze <streamname> passed from client and select proper &#171;live&#187; source or archived one. But this makes sense only if one RTSPServer can stream simultaneously several sources to one client. Is it so? Then, it seems that I should stream &#171;live&#187; video as multicast and archive as unicast (because there will be several clients who will receive &#171;live&#187; video and only one for each archive access), is it possible to do simultaneously with one RTSPServer? (Actually I can stream &#171;live&#187; as unicast also, if not). Then I have the question about navigation in archived source. As I understand I should make a subclass of ServerMediaSubsession with implementation of seekStream, setStreamScale and something else (mentioned somewhere), but the problem is that the archive contains many files for each channel and I should somehow tell the &#171;Source&#187; class which file to use (actually I haven't read the example implementation of trick play functions yet, so I'm not sure here).
Thanks,
Dmitry Zinchenko


More information about the live-devel mailing list