receive multiple incoming streams in netgroup p2p multicast (adobe cirrus)

206 Views Asked by At

The following is receiver part of multicast p2p video streaming using adobe cirrus.

I want to receive streams from multiple broadcasters and play it as separate video stream, how do I loop through multiple incoming streams in multicast?

        private const SERVER:String = "rtmfp://stratus.adobe.com/";
        private const DEVKEY:String = "YOUR-DEVKEY";


        [Bindable]
        private var connected:Boolean = false;

        private var video:Video;

        private var netConnection:NetConnection;
        private var stream:NetStream;

        private function init():void{
            video = new Video(320,240);
            video.x = 10;
            video.y = 10;

            var uic:UIComponent = new UIComponent();
            uic.addChild(video);

            addElement(uic);

            connect();
        }

        private function connect():void{
            netConnection = new NetConnection();
            netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
            netConnection.connect(SERVER+DEVKEY);
        }

        private function netStatus(event:NetStatusEvent):void{
            writeText(event.info.code);

            switch(event.info.code){
                case "NetConnection.Connect.Success":
                    setupStream();

                    break;
            }

        }

        private function setupStream():void{
            var groupspec:GroupSpecifier = new GroupSpecifier("myGroup/multicastOne");
            groupspec.serverChannelEnabled = true;
            groupspec.multicastEnabled = true;

            stream = new NetStream(netConnection,groupspec.groupspecWithAuthorizations());
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatus);

            stream.play("multicast");

            video.attachNetStream(stream);
        }

        private function writeText(txt:String):void{
            txtHistory.text += txt+"\n";
        }
1

There are 1 best solutions below

0
On

When you use Netstream with GroupSpecifier, you need to create a Netgroup with the same GroupSpecifier.

Then

Publisher 1: Netstream.publish("stream1")
Publisher 2: Netstream.publish("stream2")

// etc.

And Clients:

Netstream.play("stream1");
Netstream.play("stream2");

// etc.