Capítulo 2

Fundamento teórico.

2.1. Transmisión de vídeo en redes IP.

Como se ha comentado en el capítulo anterior, la popularización del vídeo en Internet ha evolucionado considerablemente en los últimos años. Llegado un punto en que prácticamente toda plataforma Web cuenta con algún archivo de audio o vídeo incrustrado en su Web.

El método de transmisión de estos archivos ha ido evolucionando igualmente conforme mejo- raba la compresión de vídeo y el ancho de banda de las redes IP. En los siguientes apartados veremos los distintos métodos existentes para la transmisión de vídeos sobre redes IP y su evolución.

2.1.1. Descarga tradicional.

La descarga tracional del archivo es el primer método que surgió para la distribución de estos tipos archivos. Mediante este método el cliente descarga toda la información a su disco local utilizando los métodos de descarga tradicionales como son la descarga HTTP o FTP. Tras la descarga completa del archivo el usuario puede proceder con la reproducción del mismo.

Las primeras apariciones de vídeos en páginas Web mediante este método se realizaban aña- diendo un enlace en la página HTML el cual hacía referencia a la dirección URL donde se aloja el archivo multimedia. De este modo, el navegador daba la opción al usuario de descargar el vídeo en su disco local y así, una vez descargado, el cliente puede reproducir mediante algún reproductor multimedia el contenido del archivo. En la figura 2.1 se puede observar una imagen que muestra este método de descarga.

7 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.1: Descarga tracional de vídeos.

La principal desventaja de este método de descarga es que es muy lento, ya que el tamaño de los archivos multimedia es considerablemente grande incluso para vídeos de pocos minutos de duración. Además presenta el inconveniente de tener que utilizar un programa distinto al navegador (el reproductor multimedia) para poder visualizar el contenido.

En cambio tiene la ventaja de que la reproducción del archivo se realizará sin interrupciones y de forma totalmente óptima y eficiente, ya que al comenzar a reproducirlo ya disponemos de todo el contenido en nuestro disco. Así, los saltos en la reproducción y pausas se realizarán de un modo totalmente eficiente. Otra ventaja de este método es que al descargar el archivo en nuestro disco podremos reproducirlo todas la veces que deseemos, incluso conservarlo si se considera oportuno. Aunque quizás esto también puede verse como un inconveniente por cuestiones de memoria.

2.1.2. Streaming.

Con el fin de mejorar la transmisión de vídeos en redes IP surgen unos nuevos formatos de archivos que se caracterizan por ser capaz de comenzar la reproducción de estos antes de que se hayan descargado por completo en el disco del cliente. Así, nace una nueva tecnología para transmisión de archivos de audio y vídeo sobre redes IP conocida como streaming.

Streaming es la capacidad de distribuir archivos multimedia a través de una red digital, con

8 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO. la característica especial de que es capaz de comenzar a reproducir dicho archivo antes de que este se haya descargado completamente en el ordenador del cliente. La palabra streaming viene de stream que significa flujo o corriente, ya que el vídeo se distribuye como un flujo o corriente continua. Está optimizado para la entrega de datos en tiempo real.

Las aplicaciones que usan streaming son principalmente aquellas que se dedican a la distribu- ción de contenido multimedia y a las relacionadas con la interacción entre dos o más usuarios como pueden ser las videoconferencias.

Las características más relevantes de esta tecnología son las siguientes:

• Se le conoce también con el nombre de True Streaming, ya que es la modalidad que es verdaderamente streaming.

• Necesita un servidor conocido como servidor streaming. Éste es una aplicación software especializada que se ejecuta en un servidor de Internet. Esta aplicación está optimizada en aceptar peticiones de archivos de vídeo.

• El servidor streaming dispone de información sobre el estado del ancho de banda de la conexión entre cliente y servidor, por lo que puede adaptar la calidad del vídeo en función del ancho de banda disponible en cada momento.

• Antes de comenzar la transferencia de datos entre el servidor y el cliente, es necesario establecer la conexión entre ambos. Una vez establecida la conexión se dispondrá de varios canales para la tranferencia de datos y de un canal para el control del flujo multimedia. El canal de control es bidireccional y recibe las interacciones del cliente y transmite las respuestas. Los canales de datos son unidireccionales y transmiten la información cuando las interacciones lo requieren.

• Los archivos multimedia se dividen en segmentos. El servidor enviará paquetes IP a la red que contendrán varios de estos segmentos del archivo completo. El receptor podrá ir reproducciendo estos segmentos conforme los va recibiendo. Se puede ver un esquema de este proceso en la figura 2.2.

• El archivo de vídeo no se almacena en el ordenador del usuario. Los datos de vídeo que se van reproduciendo, van siendo descartado por el reproductor.

• Los servidores streaming utilizan protocolos más adecuados para la entrega de datos en tiempo real que los que utiliza un servidor Web convencional. Estos son los proto- colos RTSP (Real Time Streaming Protocol) y UDP (User Datagram Protocol). RTSP proporciona soporte integrado para los mensajes de control y otras características de

9 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

servidores streaming. UDP es un protocolo ligero que ahorra ancho de banda a costa de perder fiabilidad frente a los otros protocolos. Se preocupa más de una entrega constante y continua que de una entrega fiable.

• Por último, un servidor streaming es necesario si se pretende ofrecer retransmisiones en directo y el uso de multidifusión.

Figura 2.2: Método Streaming

La arquitectura típica de un sistema streaming, de la cual se ha incluido un esquema y que podemos ver en la figura 2.3, cuenta con una serie de elementos principales que son los siguientes:

• Sistema de producción: el sistema de producción genera los flujos de audio y vídeo que se desean transmitir, los cuáles serán bien almacenados en algún sistema de almacenamiento o bien emitidos en directo. Puede estar compuesto por elementos hardware como pueden ser micrófonos o videocámaras, o por elementos sotfware que generan los flujos en formato streaming.

• Servidor de streaming: el servidor streaming recibe las peticiones de los clientes, establece las conexiones con los mismos y transfiere los flujos solicitados a éstos.

• Proxy: para vídeos bajo demanda almacena temporalmente la información más recien- temente utilizada y la transmite a los clientes en caso de ser nuevamente solicitada. En cambio, para transmisiones en directo reduce el número de flujos que salen del servidor, tal y como se muestra en la figura 2.4.

• Protocolos: los protocolos varían según nos refiramos al canal para control o a los canales para los datos. Para el canal de control se utilizan protocolos del nivel de aplicación. El

10 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.3: Arquitectura sistema streaming.

protocolo más común es el estándar RTSP, aunque existen también protocolos propie- tarios como pueden ser el protocolo MMS (Microsoft Media Services) de Microsoft o los protocolos RTMP (Real Time Messaging Protocol) y RTMFP (Real Time Media Flow Protocol) de Adobe. Para los canales de datos se utiliza el protocolo RTP (Real-time Transport Protocol) un protocolo de nivel de sesión que utiliza como nivel de transporte el protocolo UDP (User Datagram Protocol). Las limitaciones del protocolo RTP son las siguientes:

◦ No garantiza el envío. ◦ No garantiza que los paquetes lleguen ordenados. ◦ No garantiza que los paquetes lleguen a tiempo. ◦ No garantiza la calidad de servicio.

• Cliente streaming: recibe la información solicitada, la cual va almacenando en un buffer hasta que dispone de contenido suficiente para comenzar a reproducir el archivo. Una vez reproducido descarta el contenido. Cuenta con una interfaz para el visionado y la interacción con el medio. El buffer se carga antes de comenzar la reproducción. Cuando el buffer se vacía, se detiene la reproducción para recargarlo (fallo de reproducción). El buffer amortigua posibles retrasos en la llegada de paquetes (por problemas en la red o sobrecarga en el servidor). Habitualmente existen buffers tanto de audio como de vídeo. Para más detalle vea la figura 2.5.

11 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.4: Proxy

Las ventajas de usar streaming son:

• Capacidad de manejar grandes cantidades de tráfico.

• Capacidad de detectar las velocidades de conexión de los usuarios.

• Capacidad de transmitir eventos en directo y capacidad para multidifusión.

Hay dos formas de tener acceso a un servidor streaming:

• Operar su propio servidor.

• Registrarse en un plan organizado de transmisión.

El funcionamiento de la reproducción de un vídeo mediante streaming se realiza de la siguiente forma:

• El cliente que desea reproducir el archivo, realiza una petición al servidor para que este se lo transmita.

• El servidor acepta dicha petición y crea una comunicación entre el servidor y el cliente para la distribución del archivo multimedia.

Existen dos modalidades diferentes en el uso de la tecnología streaming. Son las modalidades de streaming en directo y streaming bajo demanda. En los siguientes subapartados vemos las características más importantes y el funcionamiento de ambas modalidades.

12 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.5: Cliente streaming.

2.1.2.1. Streaming en directo.

Esta modalidad streaming está orientada a la multidifusión, ya que al tratarse de eventos en directo es de suponer que sean varios los clientes los que soliciten la reproducción del mismo flujo de vídeo. El servidor comienza a transmitir en un instante dado y los usuarios ven la información que se está emitiendo. En este tipo de servicio no existe interactividad, no se puede avanzar ni retroceder la reproducción, únicamente está permitido realizar pausas (cuando el usuario recupere la reproducción podrá ver la información que se está transmitiendo en ese instante).

El funcionamiento de esta modalidad streaming es el siguiente:

1. El servidor recibe la transmisión del productor.

2. Comienza la emisión.

3. Espera peticiones de los clientes.

4. Cuando recibe una petición decide si la acepta (control de admisión).

5. Establece una conexión con el cliente.

13 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

6. Recibe la interacción del cliente (sólo pausa) y actúa en la transmisión convenientemente transmitiendo un flujo continuo de información.

7. Finaliza la conexión cuando el cliente lo solicita.

8. Finaliza la emisión cuando deja de recibir señal del productor.

2.1.2.2. Streaming bajo demanda.

Los usuarios solicitan el envío de información en cualquier instante. En esta modalidad se envía un flujo a cada usuario. Existen diversos tipos de interacciones con el vídeo como pueden ser pausas, saltos hacia delante, saltos hacia atrás,...

El funcionamiento de la transmisión de vídeos bajo demanda es el siguiente:

1. El servidor espera peticiones de los clientes.

2. Cuando recibe una petición decide si la acepta (control de admisión).

3. Establece una conexión con el cliente.

4. Recibe las interacciones del cliente y actúa en la transmisión convenientemente trans- mitiendo un flujo continuo de información.

5. Finaliza la conexión cuando el cliente da por finalizada la comunicación o cuando la información solicitada finaliza.

2.1.3. Descarga progresiva.

Para muchos, considerar esta tecnología como streaming es un error, ya que aunque puede comenzar la reproducción del contenido antes de que el archivo se haya descargado completa- mente, este método no es en realidad una técnica streaming, el vídeo no se transmite como un flujo continuo, sino que es una descarga en partes del archivo de vídeo.

A este método se le conoce también con el nombre de HTTP Streaming o Web Streaming. Algunos lo reconocen como una técnica pseudo-streaming.

Las características principales de este método de transmisión son las siguientes.

14 2.1. TRANS. DE VÍDEO EN REDES IP. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

• El cliente reproduce la información según la va descargando al disco local. Esta técnica es la que utilizan sitios como Youtube.

• La entrega del archivo multimedia se realiza mediante un servidor Web convencional. No necesita ningún servidor especial sino que utiliza un servidor Web estándar para entregar el archivo. Es la modalidad más fácil y barata.

• Es una buena solución para sitios con tráfico moderado.

• El método HTTP solo funciona con archivos completos almacenados en el servidor. Por tanto, no permite la transmisión de vídeos en directo.

• El archivo se almacena en el cliente para que no tenga que ser de nuevo descargado si el usuario quiere volver a reproducirlo.

• Con el uso de HTTP no se puede detectar automáticamente la velocidad del usuario final ni el estado actual de la red, por lo tanto si desea adaptar la tasa de bits según la conexión, es necesario crear un archivo distinto para cada tasa.

• Utiliza TCP (Transmission Control Protocol) como protocolo de transporte, el cual no está optimizado para la entrega en tiempo real de datos. TCP está optimizado para la entrega garantizada de datos, independientemente de tipo o tamaño.

Los pasos a seguir para distribuir un archivo multimedia utilizando la modalidad HTTP Strea- ming serán los siguientes:

1. Crear el archivo multimedia en un formato streaming, como puede ser el formato MP4, FLV, MOV,...

2. Cargar el archivo al servidor Web.

3. Crear un hipervínculo o usar etiquetas HTML, como embed para incrustrar el video en la Web.

En la figura 2.6 se puede observar un ejemplo de este tipo de método.

2.1.4. ¿Cuándo utilizar uno u otro método?

Hemos visto en los apartados anteriores cuáles son las características de cada método de transmisión de vídeo sobre redes IP y cuáles son sus ventajas e inconvenientes. En este apartado

15 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.6: Descarga progresiva de vídeos se pretende orientar al lector cuando se debería elegir una u otra modalidad, en función de los objetivos y necesidades.

La razón principal para la transmisión de vídeo desde un servidor Web es que es sencillo y se puede hacer con la infraestructura existente. Es más útil cuando los vídeos son cortos, cuando se está más interesado en la entrega de alta velocidad de bits que en la entrega en tiempo real, o cuando se desea que los clientes puedan mantener una copia del vídeo en sus propios equipos.

True Streaming es la mejor solución cuando los vídeos tienen una mayor duración, cuando se quieren permitir aplicaciones interactivas como la búsqueda de vídeos o si desea recopilar estadísticas de lo que se está viendo. Además Server Streaming es la única manera de hacer retransmisiones en directo y multidifusión.

En el cuadro 2.1 se recogen las ventajas e inconvenientes de cada uno de los métodos estudiados anteriormente.

2.2. Aplicaciones Streaming.

Existen varias aplicaciones que permiten el uso de streaming como son Flash, QuickTime o Windows Media. Todas incorporan algunos componentes comunes como son:

1. Un reproductor de audio y vídeo para reproducir los archivos multimedia.

16 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Método Ventajas Inconvenientes - Reproducción óptima y sin - Lento. interrupciones. - Necesidad de utilizar otra Descarga Tradicional - El cliente dispone de una copia aplicación distinta al en disco. navegador. - Permite multidifusión y eventos en directo. - Necesita un servidor Streaming - Adaptación al estado de la especial. conexión. - Suele ser más caro. - Grandes cantidades de tráfico. - No óptimo para datos en - No necesita ningún servidor tiempo real. Descarga Progresiva especial. - No soporta eventos en - Más barato. directo ni multidifusión.

Cuadro 2.1: Comparativa métodos de transmisión de vídeos en redes IP

2. Un formato contenedor definido que la aplicación será capaz de reproducir.

3. Un componente servidor que ofrece posibilidad de streaming en directo entre otras cosas.

Un formato contenedor es un formato de archivo que almacena información de audio, ví- deo, subtítulos, capítulos, meta-datos e información de sincronización siguiendo un formato preestablecido en su especificación.

Los formatos contenedores de vídeo sólo definen cómo almacenar los distintos flujos en el archivo, no definen qué tipos de datos son almacenados. En realidad, esto no es así realmente, ya que no todos los flujos de vídeo son compatibles con todos los formatos contenedores.

Un archivo de vídeo normalmente contiene varias pistas, generalmente una pista de vídeo y una o más pistas de audio. Estas pistas normalmente están interrelacionadas. Una pista de audio contiene marcas que ayudan a sincronizar el audio con el vídeo. Además las pistas pueden contener meta-datos, tales como la relación de aspecto de la pista de vídeo, o el idioma de la pista de audio.

Las pistas de audio y vídeo suelen ir comprimidas utilizando . Para crear un formato contenedor hay que proceder con la codificación de las pistas y proseguir con la multiplexación de las mismas siguiendo un patrón predefinido.

Para entender bien un sistema de streaming, se debe comprender la diferencia entre un códec y un formato contenedor:

17 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

• Un códec es un algoritmo de compresión, utilizado para reducir el tamaño de un flujo. Existen códecs de audio y códecs de vídeo. MPEG-1, MPEG-2, MPEG-4, , DivX, son códecs.

• Un formato contenedor contiene uno o varios flujos ya codificados por códecs. A menudo, hay un flujo de audio y uno de vídeo. Por ejemplo AVI (), , MOV, ASF (Advanced Streaming Format), son formatos contenedores. Los flujos que contengan pueden ser codificados utilizando diferentes códecs, aunque existen algunas incompatibilidades.

Cuando ves un vídeo en un reproductor multimedia, el reproductor tendrá que realizar el siguiente proceso para visualizar el vídeo correctamente:

1. Interpretar el formato contenedor para encontrar qué pistas de vídeo y audio están disponibles, y la forma en que éstas han sido almacenadas en el archivo para que pueda encontrar los datos que necesitará decodificar.

2. Decodificar el flujo de vídeo y reproducirlo en pantalla como una serie de imágenes.

3. Decodificar el flujo de audio y enviar el sonido a los altavoces.

Un códec de vídeo es un algoritmo con el que un flujo de vídeo es codificado, es decir, que especifica cómo realizar el paso 2 mencionado anteriormente.

El término códec es un acrónimo, una combinación de las palabras codificador y decodificador. Es un algoritmo matemático desarrollado en software o hardware o una combinación de ambos, utilizado generalmente para reducir el tamaño de un flujo de datos.

La mayoría de los códecs de vídeo modernos utilizan todo tipo de trucos para reducir al mínimo la cantidad de información necesaria para mostrar una imagen tras otra. Por ejemplo, en lugar de almacenar cada fotograma individual (como una captura de pantalla), sólo se almacenarán las diferencias entre los fotogramas. La mayoría de vídeos en realidad no cambia casi nada de un fotograma a otro, por lo que permite tasas de compresión alta, lo que resulta en archivos más pequeños.

Hay códecs de vídeo con pérdidas (lossy) y sin pérdidas (lossless). Pero el propósito general de estos códecs es el de reducir considerablemente el tamaño de estos archivos, sobre todo si va a distribuirse a través de Internet. Por ello, los códecs de vídeo que se utilizan en la Web son todos con pérdidas.

18 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Un códec de vídeo con pérdida significa que siempre se perderá cierta parte de la información durante la codificación del archivo. Esto conlleva a una inevitable pérdida de la calidad del archivo, pero como ventaja el tamaño del mismo puede llegar a ser considerablemente menor que la del archivo original.

En los siguientes apartados veremos una introducción a las principales aplicaciones que se pueden utilizar para hacer streaming, así como una breve descripción de sus formatos de archivos streaming desarrollados por las compañías creadoras de estas aplicaciones.

2.2.1. Real Networks.

Real Networks es un proveedor de software y servicios para Internet ubicado en Seattle, Wa- shington. La compañía es conocida por la creación de RealAudio, un fomato de audio compri- mido, RealVideo, un formato de video comprimido y RealPlayer, un reproductor multimedia y su correspondiente plugin para navegadores Web. Fue pionera en le mercado de streaming de audio y vídeo. Según algunas versiones, en el año 2000, más del 85 % de la transmisión de contenido en Internet se encontraban en los formatos de esta compañía. Sus aplicaciones están disponibles para varias plataformas como son Windows, Mac OS X, Linux, Android y Simbiad. Es de código abierto y utiliza protocolos estándar.

Los productos creados por Real Networks para el uso de aplicaciones streaming son:

• Real Player: un reproductor multimedia.

• Real Producer: compresor para audio y vídeo analógico.

• RealSystem Server: servidor especializado al que se conectan los clientes.

En la figura 2.7 vemos una captura del producto Real Player.

2.2.1.1. Real Media, Real Audio y Real Video.

RM (Real Media), RA (Real Audio) y RV (Real Video) son los formatos de archivos multimedia propietarios de la compañía Real Networks. Son los formatos pioneros en el uso de la tecnología streaming y se utilizan especialmente para este tipo de aplicaciones, como retransmisiones en vivo. Las extensiones de los archivos son .rm, .ra y .rv respectivamente. Generalmente utiliza flujos de tasa de bit constante.

El formato permite la utilización de varios códecs tanto de audio como de vídeo.

19

2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.8: QuickTime Player

2.2.3. Microsoft.

Microsoft es una empresa multinacional de origen estadounidense fundada por Bill Gates y Paul Allen. Esta empresa ha desarrollado el framework multimedia Windows Media, un kit de aplicaciones para el uso de streaming. Su principal inconveniente es que está limitado su uso al sistema operativo Microsoft Windows. Estas aplicaciones son las siguientes:

• Windows Media Player: cliente de la arquitectura streaming. Es un reproductor multi- media.

: compresor para el formato Windows Media.

• Windows Media Services: proporciona servidor de streaming. Se gestiona a través de Web.

Se puede ver un ejemplo del producto Windows Media Player en la figura 2.9.

2.2.3.1. WMV y ASF.

WMV () y ASF son los formatos propietarios de Microsoft. Concre- tamente, ASF es un formato contenedor de audio y vídeo digital propiedad de Microsoft,

21 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.9: Windows Media Player diseñado especialmente para el streaming. El formato sólo especifica la estructura del flujo, y no especifica con qué algoritmos deben ser codificados dichos flujos. Esto significa que los flujos de los archivos ASF pueden codificarse con prácticamente cualquier de audio y/o vídeo y no dejará de ser un archivo ASF. Los formatos más comunes contenidos en un archivo ASF son WMA () y WMV (Windows Media Video). Y las extensiones habituales serán .wmv, .wma y .asf.

2.2.4. Adobe Systems Incorporated.

Adobe Systems Incorporated es una empresa de software estadounidense. Esta empresa es la distribuidora de los componentes Flash, cuyo origen se encuentra en la empresa Macromedia.

Al igual que las empresas comentadas anteriormente, Adobe ha desarrollado su particular kit de aplicaciones para el uso de tecnología streaming. Estas aplicaciones son las que se citan a continuación:

• Flash Media Player: reproductor multimedia.

• Flash Media Encoder: compresor para el formato de Adobe.

• Flash Media Servidor: servidor para aplicaciones streaming.

Un ejemplo de esta aplicación lo hemos visto en la figura 2.6 de esta memoria.

22 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

2.2.4.1. SWF y FLV.

SWF y FLV son los formatos propietarios de Adobe. es un formato contenedor propietario de la compañía Adobe. Es usado para transmitir vídeo por Internet usando el plugin Player. Los archivos FLV pueden ser incrustados dentro de archivos SWF. Sitios como Video, Youtube, MySpace, Yahoo! Video,... lo usan, por lo que es uno de los formatos más extendidos para la distribución de vídeo a través de la Web. Antes de Flash 9.0.60.184 (también conocido como Flash Player 9 Update 3), éste era el único formato contenedor con el que Flash era compatible. Las versiones más reciente de Flash también apoyan el formato contenedor del estándar MPEG-4. Los archivos suelen utilizar la extensión .flv.

2.2.5. Estándar HTML 5.

Este estándar está siendo desarrollado conjuntamente por el consorcio W3C y la comunidad WHATWG (Web Hypertext Apllication Technology Working Group). Actualmente se encuentra todavía en modo de desarrollo.

Mediante el estándar HTML 5, se pretende normalizar y regularizar la distribución de archivos multimedia a través de la Web. Con el uso de este estándar podremos distribuir vídeos en páginas Web utilizando la ventajosa tecnología streaming y sin necesidad de instalar plugins adicionales a nuestros navegadores.

En los siguientes apartados vamos a ver los formatos que tienen compatibilidad a día de hoy con HTML 5 y los códecs que utilizan dichos formatos.

En la figura 2.10 vemos un ejemplo de distribución de vídeos usuando esta tecnología.

En el cuadro 2.2 se recogen los distintos formatos compatibles con HTML 5 y se especifican los códecs de vídeo y audio utilizados para estos formatos.

Formato Códec de vídeo Códec de audio MP4 H.264 AAC Ogg Vorbis WebM VP8 Vorbis

Cuadro 2.2: Formatos y códecs HTML 5.

23 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Figura 2.10: HTML 5 video player

2.2.5.1. Formatos contenedores HTML 5.

• Ogg.

Ogg es un formato contenedor desarrollado por la compañía Fundación Xiph.org y es el formato nativo para los códecs multimedia que también desarrolla Xiph.org. El formato es libre de patentes y abierto y está diseñado para ser eficiente en el streaming y en la compresión de archivos. Las extensiones para estos archivos serán .oga para archivos de audio y .ogv para archivos de vídeos.

• MP4.

MPEG-4 Parte 14 es un formato contenedor especificado como parte del estándar internacio- nal MPEG-4. Se utiliza para almacenar los formatos audiovisuales especificados por ISO/IEC (International Organization for Standardization/International Electrotechnical Commission) y el grupo MPEG (Moving Picture Experts Group). Está basado en el formato de Apple MOV. Normalmente los archivos llevan las extensiones .mp4 o .m4v.

• WebM.

WebM es un nuevo formato contenedor. Es técnicamente similar a otro formato llamado . Fue anunciado en mayo de 2010. Diseñado para ser usado exclusivamente con el códec de vídeo VP8 y el codec de audio Vorbis. Es soportado nativamente, sin necesidad de plugins adicionales, en las últimas versiones de Chrome, Firefox y Opera. Además Adobe ha anunciado que la próxima versión de Flash soportará éste formato.

24 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

2.2.5.2. Códecs de vídeo HTML 5.

• H.264.

H.264 es una norma que define un códec de vídeo de alta compresión desarrollado conjunta- mente por la ITU-T (ITU Telecommunication Standardization Sector), VCEG (Video Coding Experts Group) y el grupo MPEG (Moving Picture Experts Group). Fue estandarizado en 2003.

MPEG es un grupo de trabajo del ISO/IEC (International Organization for Standardization/In- ternational Electrochnical Commission) encargado de desarrollar estándares de codificación de audio y vídeo. Existen varios estándares desarrollados por este grupo de trabajo, los cuales se diferencian por la calidad y el ancho de banda utilizados.

Los estándares desarrollados por este grupo son:

• MPEG-1: estándar inicial de compresión de audio y vídeo. Para el audio definió el popular MPEG-1 audio layer 3 o más conocido como MP3.

• MPEG-2: generalmente usado para codificar audio y vídeo para señales de transmisión, que incluyen DTT (Digital Terrestrial Television), por satélite o cable. También usado por los discos SVCD (Super Video Compact Disc) y DVD.

• MPEG-3: diseñado originalmente para señales HDTV (High-definition television), pos- teriormente se descubrió que se conseguían resultados similares con una ligera modifica- ción del estándar MPEG-2, por lo que se interrumpió el trabajo sobre éste.

• MPEG-4: es una serie de códecs y estándares internacionales de vídeo, audio y datos creados especialmente para la Web. Está formado por varios estándares, llamados “par- tes”. La parte 14 define el formato contenedor, donde además se especifica que códecs se usarán.

El códec H.264 es también conocido como MPEG-4 part 10, o MPEG-4 AVC, o MPEG-4 . El estándar H.264 está dividido en perfiles, y cada uno establece unas características distintas según la compresión o la calidad de vídeo deseada.

Los vídeos H.264 pueden ser incrustados en cualquier formato de archivo pero lo más habitual será incluirlos en un archivo MP4. La licencias del estándar son privadas.

Este códec es soportado por navegadores como Chrome, Safari y por el futuro Internet Explorer 9. Además es utilizado por plataformas como Youtube y Vimeo.

25 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

• Theora.

Es un códec de vídeo libre que está siendo desarrollado por la fundación Xiph.org, como parte de su proyecto Ogg. Theora es un códec basado en el códec de vídeo VP3 desarrollado por la corporación , y la cual donó dicho códec a la fundación.

Es un códec libre de licencias y de patentes. El vídeo resultante puede ser incluido en cualquier formato contenedor, pero generalmente lo encontraremos en el formato Ogg. La mayoría de distribuciones Linux soportan nativamente este formato libre, abierto y gratuito, que muchos han considerado de menor calidad que H.264 y que ha recibido el apoyo de Firefox.

• VP8.

Códec de vídeo desarrollado por la corporación On2 Technologies, diseñado para reemplazar a su antecesor VP7. En 2010, Google adquirió On2 Technologies y liberó este códec de vídeo como código abierto.

Fue presentado por On2 como un códec de alta calidad y un buen nivel de compresión.

2.2.5.3. Códecs de audio HTML 5.

• Vorbis.

Vorbis, a menudo conocido como Ogg Vorbis por ser el códec comúnmente más encontrado en el formato Ogg, es un códec de audio libre y con pérdidas desarrollado por la fundación Xiph.org. Forma parte del proyecto Ogg de la misma fundación. Al ser libre de patentes es apoyado por la principales plataformas Linux, la plataforma Windows y Mac OSX.

El códec Vorbis puede ser incrustado en formatos como WebM, MP4 o Matroska, pero lo más habitual será encontrarlo dentro del formato Ogg.

.

Advanced Audio Coding, conocido con las siglas AAC, es un códec de audio basado en un algoritmo de compresión con pérdidas. El formato AAC corresponde al estándar internacional “ISO/IEC 13818-7” como una extensión de MPEG-2. Fue estandarizado en 1997 y desde entonces, ha sido elegido por Apple como formato principal para los iPods y para su software iTunes. También es utilizado en otras aplicaciones por Ahead Nero, Winamp y Nintendo Dsi.

26 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

Tiene sus patentes cubiertas. Fue diseñado para mejorar la calidad de sonido del códec MP3 a la misma tasa de bits y puede codificar audio a cualquier tasa, mientras que el MP3 solo puede hacerlo a unas tasas determinadas.

Debido a su excepcional rendimiento y la calidad, este códec se encuentra en el núcleo del MPEG-4, 3GPP (3rd Generation Partnership Project) y 3GPP2, y es el códec de audio de elec- ción para Internet, conexiones inalámbricas y de radio difusión digital. Además está diseñado para ser reproducible en tiempo real en dispositivos de potencia limitada.

27 2.2. APLICACIONES STREAMING. CAPÍTULO 2. FUNDAMENTO TEÓRICO.

28