¿Qué es un archivo DivX?
Un archivo DivX contiene video codificado con un códec DivX, normalmente MPEG-4 Parte 2 o una variante posterior de DivX. El flujo codificado suele almacenarse en un contenedor AVI o MKV en lugar de un contenedor exclusivo de DivX.
Cómo funcionan los archivos DivX
DivX es una marca que abarca varias generaciones de códecs y perfiles de dispositivos, no una única estructura de archivo. DivX 3 se basaba en el códec MPEG-4 v3 de Microsoft, que los decodificadores tratan como un códec distinto del estándar MPEG-4 Parte 2; el codificador DivX 5 está documentado como una implementación de MPEG-4 Parte 2 (Simple y Advanced Simple Profile); y DivX indica que las versiones de la 3 a la 6 usaban AVI como contenedor. DivX 6 introdujo DivX Media Format, que usa la extensión .divx y añade subtítulos XSUB, menús, puntos de capítulo y pistas de audio alternativas. Las generaciones posteriores cambiaron ambas capas: DivX describe el video DivX Plus como basado en H.264 y usa MKV para el video DivX Plus y DivX HEVC. Por lo tanto, el decodificador que necesita un archivo depende de su flujo, mientras que el contenedor proporciona la temporización y la disposición de las pistas.
Datos clave
- No todos los archivos AVI etiquetados como DivX necesitan el mismo decodificador. FFmpeg asigna los FourCC
DIVXyDX50a su decodificador MPEG-4 Parte 2, pero asignaDIV3,DIV4,DIV5yDIV6amsmpeg4v3, la variante MPEG-4 v3 de Microsoft en la que se basaba DivX 3. El FourCC es solo una etiqueta en el encabezado del flujo, y la tabla de FFmpeg incluye entradas para archivos AVI defectuosos, así que confirma el códec decodificando una muestra, no solo leyendo la etiqueta. - Copiar el flujo de video DivX desde un AVI puede producir un archivo que los decodificadores estándar rechacen. FFmpeg documenta que los fotogramas B empaquetados al estilo DivX no son MPEG-4 válido y advierte que causan problemas al copiarlos a MP4 o MPEG-PS/TS. Su decodificador MPEG-4 registra un mensaje cuando los encuentra y sugiere el filtro de flujo de bits
mpeg4_unpack_bframes«without encoding but stream copy»: el filtro repara el flujo durante la copia, y el ejemplo documentado de FFmpeg copia de un archivo AVI a otro. Un nuevo encoding no necesita el filtro, porque el propio decodificador se encarga de los fotogramas B empaquetados. - No todos los flujos de la época de DivX pueden copiarse a MP4 con FFmpeg sin recodificarlos. La tabla de etiquetas de códecs de su multiplexor MP4 tiene entradas para MPEG-4 Parte 2, H.264 y HEVC, pero ninguna para
msmpeg4v3ni para los subtítulos XSUB, y el multiplexor se detiene con un error cuando el códec de un flujo no tiene etiqueta. Por lo tanto, el video que se decodifica comomsmpeg4v3debe recodificarse para incluirse en un MP4 escrito por FFmpeg, y los subtítulos XSUB no pueden copiarse a ese contenedor. - La extensión no identifica el códec y sugiere el contenedor sin confirmarlo. DivX describe los archivos
.divxcomo basados en el contenedor AVI y.mkvcomo la extensión de Matroska; además, su tabla de perfiles enumera.aviy.divxpara sus perfiles de la época de MPEG-4, y.mkv,.aviy.divxpara DivX Plus HD. Por lo tanto, un filtro de.divxomite el video DivX almacenado como.avio.mkv, y ninguna extensión determina qué códec contiene el archivo. - Que un archivo pueda decodificarse por software no significa que un dispositivo DivX Certified vaya a reproducirlo. La tabla de perfiles establece límites independientes por clase de dispositivo para el tamaño de fotograma, la tasa de bits, la cantidad de fotogramas B y el método de cuantización: el perfil Home Theater, por ejemplo, enumera cuantización H.263 y un fotograma B, mientras que DivX HD 1080p enumera dos fotogramas B y cuantización H.263, MPEG o personalizada.
Cuándo son relevantes los archivos DivX
Ofrece soporte para DivX al gestionar colecciones de video heredadas o convertirlas para entornos de reproducción más recientes. Detecta tanto el códec como el contenedor, porque una extensión por sí sola puede no revelar el decodificador o el demultiplexor necesarios.
Cómo ayuda Transloadit con los archivos DivX
La referencia de códecs de video de Transloadit, que abarca sus Robots basados en FFmpeg, como /video/encode, enumera mpeg4 (MPEG-4 Parte 2, con codificadores que incluyen mpeg4 y libxvid) y msmpeg4v3 como compatibles con lectura y escritura. Estos son los dos códecs a los que FFmpeg asigna los FourCC anteriores.
La referencia enumera códecs. No abarca funciones de DivX Media Format como los menús o los subtítulos XSUB, así que prueba los archivos que dependan de ellas.
Explora los formatos de archivo y las capacidades de compresión de Transloadit
Fuentes
- DivX: especificaciones técnicas de los perfiles DivX (extensiones de archivo, códecs y límites por perfil)
- Glosario de tecnología DivX: AVI (contenedor para las versiones de video DivX de la 3 a la 6)
- Glosario de tecnología DivX: MKV (contenedor para video DivX Plus y DivX HEVC)
- Glosario de tecnología DivX: H.264 (base del video DivX Plus)
- Comunicado de prensa de DivX, 15 de junio de 2005: DivX 6 introduce DivX Media Format
- Guía del usuario de DivX 10 (PDF): archivos .divx y el contenedor AVI
- Descripción del formato fdd000069 de la Biblioteca del Congreso: códec de video DivX, versión 5
- Código fuente de FFmpeg, libavformat/riff.c: correspondencia entre FourCC y códecs
- Documentación de filtros de flujo de bits de FFmpeg: mpeg4_unpack_bframes
- Código fuente de FFmpeg, libavcodec/mpeg4videodec.c: tratamiento de fotogramas B empaquetados y mensaje
- Código fuente de FFmpeg, libavformat/movenc.c: etiquetas de códecs del multiplexor MP4