Un poco de teoria te ayudará a entender las Ventajas y Limitaciones de este Formato

Bueno, aqui va una larga y emocionante historia.

Hasta hace unos años habian solo unas pocas formas de transmitir video en vivo, la mayoria de ellas incluian tener que descargar cierto software como (Real Player,  Windows Media Player) esa batalla la ganó claramente  Real Network con su Real Player,  pero la empresa no fue capaz de reinventarse y le llego un competidor imposible de Vencer,  FLASH.

Flash no es solo un plugin, es un super lenguaje que hacia lo que ninguno podia hasta ese momento. 

  • Funciona en  Windows - MAC OS - Linux
  • Funcionaba en el Browser o podia generar su propio Ejecutable
  • Tiene su propio Lenguaje muy completo,   ACTION SCRIPT
  • Mucho antes de que se popularizara el  AJAX, la alternativa para cargar contenido sin actualizar la pagina era Flash..
  • Tiene su porpio entorno Grafico  basado en Vectores, para funcionar en cualquier escritorio.
  • PERMITE TRANSMITIR AUDIO Y VIDEO EN VIVO..

Con todas esas ventajas  Flash se establecio por muchos años, como el plugin que todos debian tener, fue muy bien aprovechado por los desarrolladores de Juegos,   pero tambien fue aprovechado por los desarrolladores de Virus.

Flash es un buen producto pero se daño cuando  ADOBE compró a MACROMEDIA y quiso rellenarlo con todo lo que pensaron que estaría bien llenarlo, rellenado de complementos, y convirtiendo un plugin que pesaba menos de 3 Mb en uno que pesa mas de 18 Mb y puede ocupar mas de 100 Mb de RAM

Hoy en Dia FLASH es el Software y Plugin que tiene Mas Huecos de seguiridad, semanalmente se encuentra uno.

Con la Implemetación del HTML5  Flash perdió toda popularidad y está destinado al suicidio por su propio fabricante. pero aun no han podido deshacerce de el, por mas que quieren hay una herencia de Flash que aun no ha podido ser remplazada.

Que es HTML5 ..?

HTML5  Simplemente son unas especificaciones que se hicieron para Actualizar el Lenguaje HTML que llevaba Muchisimos años sin actualizarse.  En estas nuevas especificaciones se le exige a los navegadores que quieren ser compatibles con HTML5 que soporten nuevas funciones,  Muchas de estas Funciones lo que hacen es  Imitar lo que ya hacia Flash pero los navegadores no hacian nativamente,  Se introdujo tambien una actualizacion a las hojas de Estilo, llamadas  CSS se actualizó a la version 3,  y Juntando el  HTML5 y el CSS3  se pueden hacer muchas cosas que solo eran posibles en Flash, como los Degradados, Bordes Redondos nativamente, Sombras, Canvas  etc..

El HTML5  acepta una nueva etiqueta llamada  <video>, con la cual se pretende incluir video en cualquier pagina, pero la fundacion detras de la WWW encargados de actualizar el Lenguaje, no especifico que formato de Video se debía usar, por eso cada navegador está en libertad de decidir que formatos de video soporta, esto inicio otro problema.

En eso es superior Flash, pues al manejar su propio formato contenedor FLV,  debía funcionar el video en cualquier plataforma sin importar el navegador, pues el plugin solo exigia que  el video estuviera en ciertos formatos  igualmente el audio..

 

En la actualidad  hay pocos formatos para transmitir en VIVO,  El  Real Media ya esta en desuso y Real Networks (Perdio la batalla) se convirtio en una empresa de contenidos, ya no fabrica encoders ni ha innovado su producto..   WMV de (Windows Media Video ) es eficiente, pero es un Producto de Microsoft, por lo cual no funciona ni en Linux, ni en Mac. (Si funciona con software pero no nativamente en el navegador, tampoco es codigo abierto para mejorarlo o implementarlo).  El  AVI, no puede transmitirse en vivo,  el MP4 es un Contenedor en si, no un formato de video,  EL  MTK (Matroska) es un contenedor.  

 

Entonces  cual es la alternativa al   FLV de FLASH..?

El  MPEG (Moving Picture| Expert Group) decidio que el formato  MPG no es libre, igualmente el MP3 y el AAC, por lo cual se levanto un Genio y creo el formato    OGA  para audio y OGV para Video  Juntando los dos en  OGG, aunque al Audio se le llama  OGG y al video se le puso otro nombre,  THEORA,  el proposito de estos Codec fue  proponer una Alternativa Libre a  MPEG que compitiera en Calidad y OPEN SOURCE,  se puede decir que a los expertos de  MPEG se les levantaron otros expertos de la fundacion XIPH    https://www.xiph.org/   con un producto Igual de Bueno..

Segun Wikipedia el  formato  Theora fue donado  a la fundación XIPH por la empresa  On2, años despues On2 fue comprada por  Google y el formato  VP que es la base del Theora se haría  tambien Libre de Patentes, Actualmente el formato   VP8 y VP9  puede transmitir audio y video en vivo. y google lo ha introducido en su propio formato WEBM

el problema con el VP8 y VP9 (que es muy Eficiente) es que  APPLE se niega a darle soporte en  IOS y en su navegador Safari, igualmente aunque es un formato Libre  Microsoft no ha querido dar soporte a su navegador.  y estos dos nisiquiera le dan soporte al  OGG, o al Theora,  en otras palabras, solo quieren trabajar con MPEG.

En cambio GOOGLE si ha dado soporte al  OGG, THEORA, VP8 en  Android y en el navegador Chrome y adicionalmente a los formatos del MPEG. Google hasta ahora ha contribuido mas al desarrollo y avance de los codecs libres,   Mozilla, solo da soporte por ahora a los formatos Gratuitos  OGG y Theora, y creo que Mp3 (Esto ultimo no estoy seguro.)  de todas formas el formato  MP3 ya tiene las patentes vencidas y pasa a ser libre.

Hace poco salio   OPUS  un formato que mezcla el conocimiento de  XIPH,  Mozilla, Microsoft, Google,  este codec lo sacaron todos en conjunto y ya lo usa  Skype y Whatsapp. pues tiene buena calidad, poco espacio en disco y compite directamente en calidad con el formato AAC.

por el lado del  MPEG  hay un formato contenedor con el cual se pude transmitir en vivo y es el   MPEG TS  buscar en Wikipedia

El ultimo avance de MPEG es el  formato  H264 y H265  el cual pretenden que sea usado en los navegadores pues es muy eficiente en tamaño y calidad,  pero  MPEG tiene un historial de haber demandado por patentes por lo cual el formato a usar por el navegador deberia ser libre, es entonces como ellos prometen que el formato  H265 que segun ellos es el doble de eficiente que el  H264 sera  de uso libre.

En otras palabra,  Google que es el unico competidor de  MPEG y lo ha  Obligado a sacar un codec libre de patentes y tienen que hacer eso para impedir que Google domine tambien ese ambito..

Retomando lo del  MPEG TS  aqui nace el formato  HLS  de  APPLE.

Y Qué Es El HLS de APPLE..?

Debido a que Todos estan Luchando contra Flash para dejarlo en el olvido,  APPLE necesitaba tambien encontrar la forma de enviar video en vivo a sus Moviles IOS y asu navegador Safari,  APPLE se ha negado a dar soporte al Formato  VP, OGG, Theora,  Solo va a usar MPEG y no puede usar su Engorroso formato  MOV (Recuerdan al Quick Time?).

HLS (HTTP Live Streaming) es un formato (NO CODEC) que inicia como una adaptacion que hace APPLE del  MPEG TS (Trasport Stream) para enviar video por  pedazos (Chunks) organizando todo en un archivo Indice (M3U8).

En Otras palabras,  en un archivo de listados  M3U8 se ponen los pedazos de video, en las especificaciones el  HLS el video debe estar codificado en  H264 y el audio en MP3 o AAC, siendo el AAC el mas popular por tamaño y calidad.. osea que para ver un video en vivo se genera un archivo M3U8  con la informacion de los pedazos de Video ya codificado, los cuales carga el navegador uno tras otro.  este proceso se repite una y otra vez con pedazos nuevos y se logra un  Pseudo Streaming..

Parece ser una Idea muy inteligente, aunque añade un buen tiempo de latencia en comparacion con el  FLV.

Pero tiene muchas ventajas como poder organizar el Streaming de acuerdo al bitrate deseado.  osea en un solo listado poner la alternativa para reproducir en bajo bitrate o alto.

Pero el HLS no es una Innovación es simplemente lo que quizo hacer APPLE para no seguir las normas del  MPEG-DASH que es otro formato que nacio primero y dio la idea para el HLS..

El DASH es el Mejor formato por el momento para transmitir, es usado actualmente por Youtube, y es el Mejor en cuanto a que no Exige un codec Especifico, osea no esta limitado solo al   H264, se pude usar tambien VP9 y no necesitas enviar el video y audio encapsulado en un contenedor  MPEG TS.

Google no hizo lo mismo que APPLE y decidió dar soporte al HLS, en Android, Igualmente en Chrome y el Mozilla Firefox tambien reproduce nativamente el Codec H264,  aunque realmente no se le ha dado soporte al HLS sino al Codec H264 y al Audio AAC,  el HLS  se pone a funcionar a traves de unos trucos en JavaScript.

Al final de todo aunque nos queramos despegar de FLASH seguimos usandolo pues la mayoria (por no decir todos) de los programas que transmiten video en vivo usan el protocolo  RTMP (El cual usa  UDP, no HTTP), El cual fue diseñado por ADOBE para ser usado en FLASH.  Esto quiere decir que el video lo recibe el servidor con el contenedor  FLV, lo convierte al contenedor  MPEG TS  y lo parte en segmentos..

 

Youtube, Facebook, VK, Twitch, Vaughlive, Ustream y  Todas las plataformas de Video en Vivo, te solicitan que les envies el video  por  RTMP usando  el contenedor  FLV y los codecs  H264 y AAC.

 

Envivo.win  ha decidido usar el formato  HLS  porque es eficiente pero tambien, porque si cambiamos el formato y los codecs dejariamos a un lado a nuestros usuarios con  IOS.  aunque lo mas natural es que luego nos vayamos para el DASH.

 

Eso es todo..!

admin

Escribir un comentario

Cuál es la última letra en la palabra ndqba?

Sindicación RSS de los comentarios de este artículo