Comunidad de diseño web y desarrollo en internet online

Componente de vídeo con suavizado

Citar            
MensajeEscrito el 24 Abr 2014 01:46 pm
Hola...

Estoy usando en los productos elearning que desarrollo un componente de video de AF Components (en as2). Cuando se escala el player de flash (requisito del cliente) el vídeo pierde calidad. No podemos usar vídeos de mayor calidad ya que el cliente nos limita su bitrate a 150Kb. No he encontrado forma de suavizar el video.

Con este componente, utilizo un script (detallado abajo) que me permite añadir subtítulos a los videos desde un xml.

En ocasiones, he utilizado, el componente de vídeo de XMCA, Toobplayer que suaviza el vídeo cuando se escala pero no soy capaz de hacer que funcione con los subtítulos y la página del componente hace tiempo que fue olvidada, así que no hay acceso a la referencia del player.

Alguien ha usado alguna vez subtítulos con ese player? Alguna sugerencia de otro componente que pueda llevar subtítulos, suavice los vídeos y sea AS2

Gracias!

Código subtítulos:

Código :

////// Subs ////////

//mc_subs._visible = false;
subs._visible = false;
mc_subs.gotoAndStop(1);
_level2.subs_activos = 0;
subs._visible = false;
var aCaptions:Array;
var my_flvPb:mx.video.FLVPlayback;
var xmlCaptions:XML = new XML();
xmlCaptions.ignoreWhite = true;
xmlCaptions.onLoad = function():Void {
  aCaptions = this.firstChild.childNodes;
  for(var i:Number = 0; i < aCaptions.length; i++) {
     
   Tiempo_temp=aCaptions[i].attributes.start;
   //trace("TIEMPO TEMP " + Tiempo_temp);
   
//////////////////////// CONVERSIÓN A SEGUNDOS /////////////////// 

var Tiempo:Number = 0;

var _timecodeDelineator:String = ":";
var splitArray:Array = Tiempo_temp.split( _timecodeDelineator );

//trace ("Array 0 "+ splitArray[0]);
//trace ("Array 0 "+ splitArray[1]);
//trace ("Array 0 "+ splitArray[2]);

Tiempo += Number(splitArray[0]) * 3600;
Tiempo += Number(splitArray[1]) * 60;
Tiempo += Number(splitArray[2]);

//trace ("tiempo en segundos "+ Tiempo);

///////////////////////////////////////////////////////////////////


   Nombre=aCaptions[i].attributes.name;
   //trace("Tiempo: "+Tiempo+" -- Nombre: "+Nombre)
    my_flvPb.addASCuePoint(Tiempo, Nombre);
  }
};
var nombre_captions:String = "videos/captions_"+ _level2.archivo[indice]+".xml"
trace ("el nombre del archivo captions es "+nombre_captions)
xmlCaptions.load(nombre_captions);

var nombre_video:String = "videos/video_"+ _level2.archivo[indice]+".flv"
my_flvPb.contentPath = nombre_video;
trace ("el nombre del archivo video es "+nombre_video)
//cmpInstance.controllerPolicy = "on";
my_flvPb.addEventListener("cuePoint", onCuePoint);

//this.createTextField("tCaptions", 2, cmpInstance.x, cmpInstance.y + cmpInstance.height, cmpInstance.width, 100);
tCaptions.multiline = true;
tCaptions.wordWrap = true;

function onCuePoint(oEvent:Object):Void {
   var cuePointName = oEvent.info.name; 
   //trace ("PUNTO DE SALTO: "+cuePointName)
   
   var texto='';
   for(var i:Number=0; i<aCaptions.length; i++)
   {
       var Indice = aCaptions[i].attributes.name;
      //trace ("SALTO: "+cuePointName+"  --  INDICE: "+Indice)
      if(Indice==cuePointName)
      {
         texto =aCaptions[i].firstChild.nodeValue;
         //trace (texto);
      }
     }
   if (texto == "_")
   {
      //trace("CERRAMOS EL PANEL")
      subs._visible = false;
      subs.tCaptions.text = "";
      subs.tCaptions.setTextFormat(new TextFormat(null, null,0xFFFFFF));
   }
   else
   {
      //trace("HAY QUE MOSTRARLO")
      //trace("ESTADO SUBS AL MOSTRAR: "+ _level2.subs_activos);
      if (_level2.subs_activos == 1)
      {
         //trace("ABRIMOS EL PANEL")
         subs._visible = true;
      }
      
      subs.tCaptions.text = texto;
      subs.tCaptions.setTextFormat(new TextFormat(null, null,0xFFFFFF));
   }
     
}

var filterArray:Array = new Array();

Por juanjoharo

8 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Abr 2014 03:32 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Abr 2014 06:58 am
Hola, jorge. Gracias por responder

Me temo que no puedo usar as3 (aparte de que mis conocimientos son nulos en esa versión) tengo que cumplir restricciones del cliente que me limitan a as2. He probado las dos instrucciones de suavizado pero con el componente de AF no funcionan.

Por juanjoharo

8 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Abr 2014 10:02 am
Ya está!!!
Tras mucho dar vueltas encontré esta solución... se convierte la instancia en movieclip y así funciona el suavizado

Código ActionScript :

MovieClip(nombre_instancia.getVideoPlayer(nombre_instancia.activeVideoPlayerIndex))._video.smoothing = true;

Por juanjoharo

8 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.