> In the current Live555 source we have a sample application 
> testMPEG2TransportStreamer
> which reads a MPEG Transport Stream file (named "test.ts"), and streams it, 
> using RTP,
> to the multicast group 239.255.42.42, port 1234 and i can change the file 
> also.
>  
> Now my question is how i can multicast the same file on multiple multicast 
> addresses using the same
> application and how can i multicast other source (ts) files on multiple 
> multicast addresses using the same
> application?

You can do this very easily - using the existing "testMPEG2TransportStreamer" 
code as a model.

For each multicast address that you want to send to, you:
        1/ create two "Groupsock" objects - one for RTP, the other for RTCP.  
(The port number for RTP should be even; the next higher (i.e., odd) port 
number should be for RTCP.)
        2/ create a new "SimpleRTPSink" object from the RTP "Groupsock"
        3/ create a new "RTCPInstance" object from the RTCP "Groupsock"
        4/ create a new "ByteStreamFileSource" object (for the file that you 
want to read from)
        5/ create a new "MPEG2TransportStreamFramer" object (for the 
"ByteStreamFileSource" object that you created in step 4/)
        6/ call "startPlaying()" on the "SimpleRTPSink" object that you created 
in step 4/, taking, as parameter, the "MPEG2TransportStreamFramer" object that 
you created in step 5/

I.e., you do steps 1/ through 6/ for each file+multicast address that you want 
to stream.

Then (and only then), once you've done all this, you call
        env->taskScheduler().doEventLoop();
to enter the application's 'event loop' (which is where the actual streaming 
gets done).


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to