Formatos multimedia: Contenedores multimedia
En un artículo anterior de este blog hablamos sobre los principios básicos de los formatos multimedia, en esta ocasión nos centraremos en hablar de los contenedores multimedia.
Como se había comentado, un formato contenedor es el que define como se almacenan los datos multimedia, dentro de ellos podemos encontrar pistas de vídeo, pistas de audio, pistas de subtítulos, información sobre capítulos, meta-datos, etc.
Multiplexación
Como ya sabemos, a la hora de generar un fichero multimedia, primero se cogen los elementos por separado, se codifican cada uno con su codec correspondiente y luego se multiplexan dentro del fichero, pero, ¿qué significa eso de multiplexación?
Pues bien, multiplexación es un término muy amplio utilizado principalmente en telecomunicación, que permite el envío de varios canales de información a través de un sólo medio transmisor, como por ejemplo poder llevar dos líneas telefónicas simultáneas por el mismo cable. En este caso, con multiplexación nos referimos a meter todas esas pistas en un sólo fichero, esto se logra mediante un divisor (splitter) que parte en pedazos las pistas ya codificadas y las va intercalando en el fichero. Frente a esto puede surgir la pregunta: ¿por qué partir las pistas e intercalarlas en lugar de ponerlas una detrás de otra?
La razón por la que se multiplexa en lugar de poner las pistas una detrás de otra es para lograr eficiencia a la hora de reproducir el contenido y no tener que ir saltando a distintas posiciones del fichero. Esto es especialmente visible cuando vemos vídeo por internet, no tendría sentido tener que esperar a que se baje toda la pista de vídeo para que pueda empezar a bajarse la pista de sonido, en su lugar, lo que sucede es que va descargándose un pedazo de imagen y un pedazo de sonido, de esta forma se puede ir reproduciendo el vídeo sin que haya terminado de descargarse.
Tipos de contenedores
Existen muchos contenedores distintos, con distintas características. En teoría cualquier contenedor debería poder almacenar cualquier tipo de dato, pero en la práctica la mayoría de contenedores están preparados para un conjunto de tipos de datos.
Vamos a hacer un pequeño repaso de los contenedores multimedia más extendidos actualmente:
AVI (Audio Video Interleave)
Este es uno de los contenedores comunes más antiguos a la par que muy extendido, fue desarrollado por Microsoft en 1992. Este contenedor permite almacenar una pista de vídeo y varias pistas de audio, permitiendo que sea el reproductor multimedia el que haga la elección de qué pista de audio reproducir (con lo que se puede tener un vídeo en multi-idioma).
ASF (Advanced Systems Format)
Formato contenedor también desarrollado por Microsoft, pero más orientado a la distribución de contenidos multimedia bajo demanda por internet. Tiene varias características que lo hacen más capacitado que el AVI para la realización de streaming por internet. Los codecs más utilizados con este contenedor son el Windows Media Video y el Windows Media Audio. Muchas veces estos contenedores, en lugar de usar su extención asf son renombrados como wmv o wma según el tipo de información que contenga.
MP4 (MPEG-4 Part 14)
Diseñado específicamente para el MPEG-4, este formato permite mútliples pistas de vídeo y de audio, así como capítulos, subtítulos, meús interactivos y adjuntos, como puedan ser imágenes o carátulas. También permite streaming del contenido bajo demanda a través de internet. Su extención más común es mp4 pero también se pueden encontrar según el uso que se le de las extenciones m4a, m4v, m4p, 3gp y 3g2.
Quicktime (MOV)
Formato desarrollado por Apple y permite almacenar múltiples pistas de vídeo, audio, efectos o subtítulos. Permite el uso de una amplia variedad de codecs tanto para vídeo, como para audio, como para imágenes.
Ogg Media (OGM)
Desarrollado por Xiph.org, es un estandar completamente abierto, completamente gratuito y libre de patente. Está especialmente diseñado para eficiencia en el streaming y una alta compresión; así como su uso con el codec de vídeo Theora, el de audio Vorbis; también desarrollados por Xiph.org. Las extenciones usadas con este contedor son: ogg, ogv, y oga.
Matroska
También se trata de un formato abierto que en los últimos años a tenido mucha popularidad y para muchos ha ido apuntado como el nuevo estandar para los formatos contenedores multimedia. Su nombre esta inspirado en las muñecas rusas o matrioskas, las cuales son huecas y contienen a su vez más muñecas en su interior. Siendo uno de los formatos más potentes y versátiles que existen actualmente tiene como intención servir de formato universal, ya que puede contener infinitas pistas lo que permite incluso el contener imágenes estereoscópicas (3D). Las principales características de este formato son:
- Rápida búsqueda dentro del archivo
- Alta recuperación de errores
- Entradas para capítulos
- Múltiples pistas de subtítulos
- Múltiples pistas de audio
- Extensibilidad por módulos
- Streaming a través de Internet (audio y video por HTTP y RTP)
- Menús estilo DVD
WebM
Este es un nuevo formato contenedor desarrollado por Google y lanzado en el 2010 especialmente orientado para usarse con HTML5. Realmente es una extensión del formato Matroska, adaptado para el uso con el nuevo estandar web. Hace uso del codec de vídeo VP8 y del codec de audio Vorbis (de Xiph.org), con ellos se logra una combinación 100% libre y abierta.
Autor: Pablo Chinea
Formatos multimedia: Principios y conceptos.
Hoy por hoy, es parte de de nuestra vida cotidiana el consumo de contenidos multimedia en nuestros ordenadores, usualmente descargados de internet. Estos ficheros que nos descargamos, ya sean por descarga directa, con algún programa P2P, o de cualquier otra manera son, al fin y al cabo, archivos, pero algo más complejos que el resto de los archivos que normalmente utilizamos. Cuando tenemos un fichero PDF sabemos que es un documento en formato PDF, cuando tenemos un DOCX sabemos que es un documento en formato Microsoft Office, pero cuando tenemos un fichero de un vídeo como pueda ser una película o una serie, la cosa no es tan simple.
Lo primero que hay que tener claro es que un fichero de este tipo está compuesto por dos elementos, un contenedor y un contenido. El contenedor se podría comparar a un DVD o una cinta; mientras que el contenido es la información propiamente dicha, un serie de unos y ceros que interpretándolos de la manera adecuada conforman la información multimedia que nos mostrará nuestro reproductor. Para poder “interpretar de manera adecuada” ese contenido es necesario un software que se denomina codec.
El formato contenedor
El formato contenedor define como se almacenarán los datos multimedia. Estos contenedores pueden contener distintos tipos de datos, codificados mediante una serie de codecs. Los formatos más avanzados permiten almacenar, ya no sólo vídeo y audio, sino también subtítulos, capítulos, meta-datos; además de los datos necesarios para lograr una sincronización entre todas las pistas.
Los formatos contenedores más usuales son:
- AVI (contenedor estándar de Windows)
- MOV (contenedor estándar de QuickTime)
- MP4 (contenedor estándar para MPEG-4)
- Ogg (contenedor estándar de Xiph.org códecs)
- Matroska (sin estándar para ningún códec o sistema, es un estándar abierto)
- ASF (contenedor estándar para Microsoft WMA y WMV)
- RealMedia (contenedor estándar para RealVideo y RealAudio)
El proceso de insertar un contenido multimedia dentro de un contenedor se denomina multiplexación (en inglés muxing) y el proceso inverso se denomina desmultiplexación (en inglés demuxing).
El codec
La palabra codec es la abreviación del término inglés coder-decoder (codificador-descodificador) y describe un software (aunque también puede ser hardware o mezcla de ambos) que con un elemento, en este caso multimedia, lo transforma en una representación de unos y ceros (codifica) que pueda ser almacenada en un soporte digital y luego recuperarlo al sentido inverso.
Hay que destacar que la mayoría de los codecs multimedia producen una pérdida de datos para lograr el tamaño más pequeño posible, por lo tanto, la sucesiva codificación de un elemento multimedia va produciendo una degradación en su calidad.
Los codecs multimedia más conocidos son:
Codecs de vídeo:
- MPEG-1 (VCD)
- MPEG-2 (SVCD y DVD)
- MPEG-4
- H.263 / MPEG-4 parte 2 / MPEG-4 ASP
- DivX
- XviD
- WMV
- H.264 / MPEG-4 parte 10 / MPEG-4 AVC
- x264
- Divx 7
- Theora
- VP6
- VP8
Codecs de audio:
- WAV
- MP3
- OGG
- AC3
- AAC
El proceso de convertir un elemento multimedia en una representación digital se denomina codificación (en inglés encoding) y el paso inverso de denomina descodificación (en inglés decoding).
Creación y reproducción
A estas alturas es comprensible que para que un ordenador sepa manejar un fichero de un vídeo es necesario que sepa, por un lado, manejar el fichero contenedor y por otro lado sepa manejar el codec de cada uno de los elementos contenidos. Por lo tanto es perfectamente posible ver dos ficheros del mismo tipo (con la misma extensión) donde un reproductor pueda reproducir uno pero el otro no, porque el segundo contenga una pista en algún formato del que no posee codec.
También es destacable que los procesos de codificación y multiplexación son independientes de los procesos de descodificación y de demultiplexación, por lo tanto, es posible encontrar fabricantes que ofrecen gratuitamente las herramientas para reproducir un formato, pero para la creación sean necesarias herramientas licenciadas o de pago. Es decir, el poder reproducir un fichero multimedia no significa que podamos crear dicho fichero.
Como conclusión se puede resumir que para la generación de un fichero multimedia los paso a seguir serán: coger cada uno de los elementos (vídeo, audio, ..) que componen el contenido multimedia, codificarlos con un codec apropiado y los datos resultantes multiplexarlos dentro de un fichero contenedor. Y para la reproducción: se desmultiplexan las pistas que alberga el fichero contenedor y cada una de éstas se descodifican mediante sus respectivos codecs.




