capítulo 2 fundamento teórico.bibing.us.es/proyectos/abreproy/11989/fichero/4.+capítulo+2.pdf ·...
TRANSCRIPT
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
Descarga Tradicional
- Reproducción óptima y sininterrupciones.
- El cliente dispone de una copiaen disco.
- Lento.- Necesidad de utilizar otra
aplicación distinta alnavegador.
Streaming
- Permite multidifusión y eventosen directo.
- Adaptación al estado de laconexión.
- Grandes cantidades de tráfico.
- Necesita un servidorespecial.
- Suele ser más caro.
Descarga Progresiva- No necesita ningún servidor
especial.- Más barato.
- No óptimo para datos entiempo real.
- No soporta eventos endirecto 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 codecs. 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, Vorbis, 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 (Audio Video Interleave), Ogg,
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.
• Windows Media Encoder: 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 (Windows Media Video) 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 codec 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 (Windows Media Audio) 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. Flash Video es un formato contenedor
propietario de la compañía Adobe. Es usado para transmitir vídeo por Internet usando el
plugin Adobe Flash Player. Los archivos FLV pueden ser incrustados dentro de archivos SWF.
Sitios como Google 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 AACOgg Theora 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
Matroska. 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
Advanced Video Coding. 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 On2 Technologies, 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.
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