0

以下是使用 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";
        }
4

1 回答 1

0

当你使用Netstreamwith 时GroupSpecifier,你需要创建一个Netgroup与相同的GroupSpecifier

然后

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

// etc.

和客户:

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

// etc.
于 2015-09-25T16:26:32.010 回答