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
