在netgroup p2p多播(adobe cirrus)中接收多个传入流

时间:2014-11-24 14:01:50

标签: actionscript-3 p2p multicast adobe-cirrus

以下是使用adobe cirrus的多播p2p视频流的接收器部分。

我希望从多个广播公司接收流并将其作为单独的视频流播放,如何在多播中循环多个传入流?

        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 个答案:

答案 0 :(得分:0)

NetstreamGroupSpecifier一起使用时,您需要使用相同的Netgroup创建GroupSpecifier

然后

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

// etc.

和客户:

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

// etc.