[Live-devel] Problems with more than one client and RTSP

Eric Peters epeters at graphics.cs.uni-sb.de
Mon Jun 13 13:15:36 PDT 2005


Hello to all,

in my diploma thesis I'm working on a distributed multimedia streaming server.
For this I have to implement the "connection" between NMM
(www.networkmultimedia.org) and your RTSP server implementation. Now I have the
following problem. In my scenario for example I will read MPEG1 data from a file
with NMM. This stream is demuxed by NMM. For streaming we implemented our own
FramedSource (BufferedSource) which is connected to a
MPEG1or2Audio/VideoStreamFramer and a MPEG1or2Audio/VideoRTPSink. I will call
this the liveMedia instance, okay? So I use for audio and video and each client
an independent liveMedia instance for streaming. These instances are independent
because NMM is multithreaded and each instance is running in his own thread.
Therefore each instance has its own UsageEnvironment and RTCP instance.

This works very well if I stream multicast or use only one client. Or if I
stream from a file and each client rereads the file from the beginning. Now when
I connect more than one client the first client runs forward with high quality
but all clients connected afterwards are synchronous stuttering. In some rare
cases the streams are okay. But this cases are very rare. :-)

So I tried the testOnDemandRTSPServer application with an MPEG1 file I recorded
from an IVTV card. There is no problem with connecting more than one client. ;-)
But I noticed one difference between this application and my application. In my
application for each client a new RTPSink is created with its own RTCP instance.
In your implementation if the source is reused your complete graph is reused
also the RTPSink is reused. Only the new destination is added to the sink.

When I change my implementation in that way that the new destination is added to
the sink should this solve my problem?? But why is there A problem with the same
source and different sinks and NO problem with different sources and different
sinks?

Sorry for my bad English.

Greetings Eric


More information about the live-devel mailing list