Tengo un problema al grabar ficheros de video usando RED5.
El escenario es el siguiente: Empiezo a emitir sin grabar, en un momento dado. al pulsar un botón, empieza la grabación del video, y en cuanto pulso un segundo botón, paro la grabación del video para seguir únicamente con la emisión.
El código que tengo es el siguiente.
Código ActionScript :
private var netLocalStream:NetStream; private var myNC: NetConnection; private var camera1:Camera; private var mic1: Microphone; netLocalStream = new NetStream(myNC); netLocalStream.addEventListener(NetStatusEvent.NET_STATUS, netStatus); netLocalStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); netLocalStream.client = this; netLocalStream.attachCamera(camera1); netLocalStream.attachAudio(mic1); netLocalStream.publish("myChannel", "live"); private function netStatus(e:NetStatusEvent):void { trace("netStatus " + e.info.code); } private function asyncErrorHandler(e:AsyncErrorEvent):void { trace("asyncErrorHandler " + e.error); } private function onButtonRecClick(e:MouseEvent).void { netLocalStream.close(); netLocalStream.publish("myChannel", "append"); } private function onButtonPublishClick(e:MouseEvent).void { netLocalStream.close(); netLocalStream.publish("myChannel", "live"); }
Cuando pulso en grabar, veo como en el servidor se crea el fichero "myChannel.flv", pero cuando pulso en el botón para dejar de grabar y seguir emitiendo, dicho fichero se borra automáticamente.
He podido comprobar que si en la función elimino la línea "netLocalStream.close();" no borra el fichero, pero entonces me da problemas si intento volver a grabar. Alguien sabe a qué se debe? Porqué la sentencia "netLocalStream.close();" borra el fichero del servidor? No debería verdad?
Alguna idea? Cómo puedo solucionarlo?
Muchas gracias