Qu’est-ce qu’un fichier DivX ?
Un fichier DivX contient de la vidéo encodée avec un codec DivX, généralement MPEG-4 partie 2 ou une variante DivX ultérieure. Le flux encodé est souvent stocké dans un conteneur AVI ou MKV plutôt que dans un conteneur propre à DivX.
Fonctionnement des fichiers DivX
DivX est une marque qui couvre plusieurs générations de codecs et profils de périphériques, pas une structure de fichier unique. DivX 3 était basé sur le codec MPEG-4 v3 de Microsoft, que les décodeurs traitent comme un codec distinct du standard MPEG-4 partie 2 ; l’encodeur DivX 5 est documenté comme une implémentation de MPEG-4 partie 2 (profils Simple et Advanced Simple) ; et DivX indique que les versions 3 à 6 utilisaient AVI comme conteneur. DivX 6 a introduit le DivX Media Format, qui utilise l’extension .divx et ajoute des sous-titres XSUB, des menus, des points de chapitre et des pistes audio alternatives. Les générations suivantes ont modifié les deux couches : DivX décrit la vidéo DivX Plus comme étant basée sur H.264 et utilise MKV pour les vidéos DivX Plus et DivX HEVC. Le décodeur nécessaire à un fichier dépend donc de son flux, tandis que le conteneur fournit les informations temporelles et l’organisation des pistes.
Points clés
- Les fichiers AVI portant l’étiquette DivX n’ont pas tous besoin du même décodeur. FFmpeg associe les FourCC
DIVXetDX50à son décodeur MPEG-4 partie 2, mais associeDIV3,DIV4,DIV5etDIV6àmsmpeg4v3, la variante MPEG-4 v3 de Microsoft sur laquelle DivX 3 était basé. Le FourCC n’est qu’une étiquette dans l’en-tête du flux, et la table de FFmpeg comprend des entrées pour des fichiers AVI incorrects. Confirmez donc le codec en décodant un échantillon plutôt qu’en lisant uniquement l’étiquette. - Copier un flux vidéo DivX depuis un conteneur AVI sans le réencoder peut produire un fichier que les décodeurs standard rejettent. FFmpeg indique que les images B regroupées à la manière de DivX ne sont pas conformes à MPEG-4 et avertit qu’elles posent problème lorsqu’elles sont copiées dans MP4 ou MPEG-PS/TS. Son décodeur MPEG-4 consigne un message lorsqu’il les rencontre et suggère le filtre de flux binaire
mpeg4_unpack_bframes« without encoding but stream copy » : le filtre répare le flux pendant la copie, et l’exemple documenté par FFmpeg effectue une copie d’un fichier AVI vers un autre. Un réencodage ne nécessite pas ce filtre, car le décodeur gère lui-même les images B regroupées. - Tous les flux de l’époque DivX ne peuvent pas être copiés sans réencodage dans un MP4 avec FFmpeg. La table des étiquettes de codec de son multiplexeur MP4 contient des entrées pour MPEG-4 partie 2, H.264 et HEVC, mais aucune pour
msmpeg4v3ni pour les sous-titres XSUB, et le multiplexeur s’arrête avec une erreur lorsque le codec d’un flux n’a pas d’étiquette. Une vidéo décodée commemsmpeg4v3doit donc être réencodée pour être intégrée à un MP4 écrit par FFmpeg, et les sous-titres XSUB ne peuvent pas y être copiés. - L’extension n’identifie pas le codec et suggère le conteneur sans le confirmer. DivX décrit les fichiers
.divxcomme étant basés sur le conteneur AVI et.mkvcomme l’extension de Matroska. Sa table de profils répertorie.aviet.divxpour ses profils de l’époque de MPEG-4, et.mkv,.aviet.divxpour DivX Plus HD. Un filtre.divxmanque donc les vidéos DivX stockées sous.aviou.mkv, et aucune extension ne permet de déterminer avec certitude le codec contenu. - Le décodage logiciel ne signifie pas qu’un appareil DivX Certified pourra lire le fichier. La table des profils fixe des plafonds distincts par catégorie d’appareils pour les dimensions des images, le débit, le nombre d’images B et la méthode de quantification : le profil Home Theater, par exemple, indique une quantification H.263 et une image B, tandis que DivX HD 1080p indique deux images B et une quantification H.263, MPEG ou personnalisée.
Quand les fichiers DivX sont utiles
Prenez en charge DivX lorsque vous traitez des collections vidéo anciennes ou les convertissez pour des environnements de lecture plus récents. Détectez à la fois le codec et le conteneur, car une extension seule peut ne pas révéler le décodeur ou le démultiplexeur nécessaire.
Comment Transloadit vous aide avec les fichiers DivX
La référence des codecs vidéo de Transloadit, qui couvre ses Robots basés sur FFmpeg comme /video/encode, répertorie mpeg4 (MPEG-4 partie 2, avec notamment les encodeurs mpeg4 et libxvid) et msmpeg4v3 comme pouvant être lus et écrits. Ce sont les deux codecs auxquels FFmpeg associe les FourCC ci-dessus.
La référence répertorie des codecs. Elle ne couvre pas les fonctionnalités du DivX Media Format comme les menus ou les sous-titres XSUB. Testez donc les fichiers qui en dépendent.
Explorer les possibilités de Transloadit en matière de formats de fichiers et de compression
Références
- DivX : spécifications techniques des profils DivX (extensions de fichier, codecs et limites par profil)
- Glossaire technologique DivX : AVI (conteneur des vidéos DivX versions 3 à 6)
- Glossaire technologique DivX : MKV (conteneur des vidéos DivX Plus et DivX HEVC)
- Glossaire technologique DivX : H.264 (base de la vidéo DivX Plus)
- Communiqué de presse DivX du 15 juin 2005 : DivX 6 introduit le DivX Media Format
- Guide d’utilisation de DivX 10 (PDF) : fichiers .divx et conteneur AVI
- Description du format fdd000069 par la Library of Congress : codec vidéo DivX, version 5
- Code source de FFmpeg, libavformat/riff.c : correspondance entre FourCC et codecs
- Documentation des filtres de flux binaires de FFmpeg : mpeg4_unpack_bframes
- Code source de FFmpeg, libavcodec/mpeg4videodec.c : gestion des images B regroupées et message associé
- Code source de FFmpeg, libavformat/movenc.c : étiquettes de codec du multiplexeur MP4