Веб-камера Stream to CDN FMS - PullRequest
       53

Веб-камера Stream to CDN FMS

0 голосов
/ 16 декабря 2010

У меня нет собственного Flash Media Server.Однако я могу использовать CDW Highwinds.Они запускают FMS на своих CDN.Когда вы планируете прямое событие, Highwinds дает вам два URL: «сервер» и «имя потока».Примеры:

сервер: rtmp: //fli003.am4.hwcdn.net/XXXX/definst

имя потока: fli / 00000-streamname? Encoderuser= XXX & encoderpassword = ГГГ

Эти два URL-адреса могут быть вставлены в приложение Flash Media Live Encoder для потоковой передачи события в реальном времени.Соответствующими именами полей в Flash Media Live Encoder являются «URL-адрес FMS» и «Поток».

Теперь я успешно установил соединение (я думаю?) С сервером FMS.Проблема: поток не отображается в сети, и, похоже, он не передан в CDN.

function onStatus(e:NetStatusEvent):void {

trace(e.info.code);

    switch(e.info.code) {

      case "NetConnection.Connect.Success":
        var ns:NetStream = new NetStream(conn);

        ns.addEventListener(NetStatusEvent.NET_STATUS, onStatus);

        var camera = Camera.getCamera();
            camera.setLoopback(true);
            camera.setQuality( 0, 100 );
            camera.setMode(640, 480, 25)
        var mic = Microphone.getMicrophone();

        if (camera != null){
            myVid.attachCamera(camera);
            ns.attachCamera(camera);
//            ns.play();
        }
        if (mic != null) {
            ns.attachAudio(mic);
        }

        ns.publish("fli/00000-streamname?encoderuser=XXX&encoderpassword=YYY", "live");
        break;
        //...
    }
}

var conn:NetConnection = new NetConnection();



conn.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
conn.connect("rtmp://fli003.am4.hwcdn.net/XXXX/_definst_");


//var counter:int = 0;
//conn.onBWDone = function(kbitDown:Number, deltaDown:Number, deltaTime:Number, latency:Number){ };
NetConnection.prototype.onBWDone = function(p_bw) {
   //trace("onBWDone: "+p_bw);
}
NetConnection.prototype.onBWCheck = function() {
   //return ++counter;
}

Файл smil есть, но я подозреваю, что данные не поступают на сервер.Плеер показывает только анимацию загрузки.

И теперь я получаю дополнительный

NetStream.Failed NetStream.InvalidArg NetStream.InvalidArg после успешного подключения.Не знаю, откуда появилась эта ошибка.

1 Ответ

2 голосов
/ 16 декабря 2010

проверьте ссылку NetStraem.publish():

//...
conn = new NetConnection();
conn.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
conn.connect('rtmp://fli003.am4.hwcdn.net/XXXX/definst');
//...
private function onStatus(e:NetStatusEvent):void {
    switch(e.info.code) {
        case "NetConnection.Connect.Success":
        ns = new NetStream(conn);
        ns.attachCamera(camera);
        ns.publish("fli/00000-name?encoderuser=XXX&encoderpassword=YYY", "live");
        break;
        //...
    }
}
...