Пул веб-камеры с использованием Flash Media Server - PullRequest
1 голос
/ 28 июля 2011

Я пытаюсь сделать что-то очень простое и надеюсь, что кто-нибудь подскажет мне быстрое решение.

У меня есть приложение, в котором пользователи могут войти и подключиться к серверу Flash Media. Как только они подключены, любой может просматривать их веб-камеру.

Например, допустим, Боб и Салли входят на сайт, и их камеры теперь транслируются. Боб может просматривать поток веб-камеры Салли в http://www.example.com? Cam = sally , а Салли может просматривать поток веб-камеры Бобли в http://www.example.com? Cam = bob

Я уверен, что это легко, и вы, ребята, можете помочь.

Пожалуйста, это срочно, и я жду ...

С наилучшими пожеланиями, Noman.

1 Ответ

0 голосов
/ 02 августа 2011

Используйте этот код для трансляции потока веб-камеры в FMS:

    var nc : NetConnection = new NetConnection( );
        nc.client = this;
        nc.addEventListener(NetStatusEvent.NET_STATUS, statusHandler );
        nc.connect( "rtmp://your-fms-server-url/your-application" );

    var cam : Camera = Camera.getCamera( );
        cam.setMode( 640, 480, 20 );

    var ns : NetStream;

    function statusHandler ( eventOBJ : NetStatusEvent )
    {
        if ( eventOBJ.info.code == "NetConnection.Connect.Success" )
        {
            ns = new NetStream( nc );
            ns.attachCamera( cam );
            ns.publish( "your-stream-name" );
        }
    };

Приемник похож, кроме нескольких строк:

    // to the declaration section:
    var video : Video = new Video( );

    // code in the statusHandler method:
    if ( eventOBJ.info.code == "NetConnection.Connect.Success" )
    {
        ns = new NetStream( nc );
        ns.play( "your-stream-name", -1 );
        video.attachNetStream( ns );    
        addChild( video );
    }

И вы просто передаете имя нужного потока во flashvars. Например, если вы используете этот URL: www.yourdomain.com/chat.php?cam=Sally, в этом случае передайте параметр cam клиенту SWF и используйте его в следующей форме:

    ns.play( this.loaderInfo.parameters.cam , -1 );
...