Un formato contenedor (a veces llamado informalmente wrapper ) o metarchivo es un formato de archivo que permite incrustar múltiples flujos de datos en un solo archivo , generalmente junto con metadatos para identificar y detallar más esos flujos. [1] Ejemplos notables de formatos contenedores incluyen archivos de archivo (como el formato ZIP ) y formatos utilizados para reproducción multimedia (como Matroska , MP4 y AVI ). Entre los primeros formatos contenedores multiplataforma se encuentran Distinguished Encoding Rules y el Interchange File Format de 1985 .
Aunque los contenedores pueden identificar cómo se codifican los datos o metadatos, en realidad no proporcionan instrucciones sobre cómo decodificar esos datos. Un programa que puede abrir un contenedor también debe utilizar un códec adecuado para decodificar su contenido. Si el programa no tiene el algoritmo necesario, no puede utilizar los datos contenidos. En estos casos, los programas suelen emitir un mensaje de error que informa de la falta de un códec, que los usuarios pueden conseguir.
Los formatos contenedores se pueden crear para contener cualquier tipo de datos. Aunque existen algunos ejemplos de dichos formatos de archivo (por ejemplo, los archivos DLL de Microsoft Windows ), la mayoría de los formatos contenedores están especializados para requisitos de datos específicos. Por ejemplo, dado que las transmisiones de audio y video se pueden codificar y decodificar con muchos algoritmos diferentes, se puede utilizar un formato contenedor para brindar la apariencia de un solo formato de archivo a los usuarios de software de reproducción multimedia.
Las diferencias entre los distintos formatos de contenedores surgen de cinco cuestiones principales:
Además de los formatos de contenedor puros, que solo especifican el contenedor pero no la codificación, varios formatos de archivo especifican tanto una capa de almacenamiento como la codificación, como parte del diseño modular y la compatibilidad futura .
Los ejemplos incluyen el formato de intercambio de archivos JPEG (JFIF), para contener datos JPEG , y los formatos de gráficos de red portátiles (PNG).
En principio, la codificación se puede cambiar mientras se conserva la capa de almacenamiento; por ejemplo, Multiple-image Network Graphics (MNG) utiliza el formato contenedor PNG pero proporciona animación, mientras que JPEG Network Graphics (JNG) coloca datos codificados en JPEG en un contenedor PNG; sin embargo, en ambos casos, los diferentes formatos tienen diferentes números mágicos : el formato especifica la codificación, aunque un MNG puede contener imágenes codificadas en PNG e imágenes codificadas en JPEG.
El archivo contenedor se utiliza para identificar e intercalar diferentes tipos de datos. Los formatos contenedores más simples pueden contener diferentes tipos de formatos de audio, mientras que los formatos contenedores más avanzados pueden admitir múltiples transmisiones de audio y video, subtítulos , información de capítulos y metadatos ( etiquetas ), junto con la información de sincronización necesaria para reproducir las diversas transmisiones juntas. En la mayoría de los casos, el encabezado del archivo, la mayoría de los metadatos y los fragmentos de sincronización se especifican mediante el formato contenedor. Por ejemplo, existen formatos contenedores para la transmisión de video por Internet optimizada y de baja calidad, que difiere de los requisitos de transmisión de Blu-ray de alta calidad.
Las partes del formato contenedor tienen varios nombres: "fragmentos" como en RIFF y PNG, "átomos" en QuickTime/MP4, "paquetes" en MPEG-TS (del término de comunicaciones) y "segmentos" en JPEG. El contenido principal de un fragmento se denomina "datos" o "carga útil". La mayoría de los formatos contenedores tienen fragmentos en secuencia, cada uno con un encabezado, mientras que TIFF almacena en cambio desplazamientos. Los fragmentos modulares facilitan la recuperación de otros fragmentos en caso de corrupción de archivos o pérdida de fotogramas o deslizamiento de bits , mientras que los desplazamientos dan lugar a errores de encuadre en casos de deslizamiento de bits.
Algunos contenedores son exclusivos del audio:
Otros contenedores son exclusivos para imágenes fijas:
Otros contenedores flexibles pueden contener muchos tipos de audio y video, así como otros medios. Los contenedores multimedia más populares son: [2] [3]
Existen muchos otros formatos de contenedor, como NUT , MXF , GXF , ratDVD , SVI, VOB y DivX Media Format.