Quelle est la différence entre un codec et un conteneur ?
Un codec définit la manière dont les données audio, vidéo ou d’image sont encodées et décodées, tandis qu’un conteneur regroupe les flux, les informations temporelles, les métadonnées et les sous-titres. MP4 est un conteneur qui peut accueillir des codecs tels que H.264 et AAC.
Fonctionnement des codecs et des conteneurs
Les flux élémentaires compressés ne décrivent pas à eux seuls un fichier complet pouvant être lu. Un conteneur entrelace une ou plusieurs pistes et enregistre les informations temporelles, de synchronisation, de langue, de chapitrage et d’autres métadonnées, tandis que chaque piste indique comment ses échantillons ont été compressés. Le remultiplexage change le conditionnement sans reconstruire les médias ; le transcodage modifie l’encodage d’un flux. La lecture dépend donc du codec, de son profil et de ses paramètres, de son association au conteneur et de la combinaison décodeur-démultiplexeur.
Points clés
- Une extension .mp4 ou .webm indique le conditionnement, et non la compression utilisée à l’intérieur ; deux fichiers portant la même extension peuvent nécessiter des décodeurs vidéo ou audio différents.
- Le déplacement dans la chronologie dépend à la fois des index du conteneur et des images d’accès aléatoire du codec : un index valide ne peut pas rendre une image à prédiction inter-image décodable indépendamment.
- La copie de pistes entre conteneurs n’est sans perte que si le format de destination autorise les entrées d’échantillons de ces codecs, les horodatages, les métadonnées et les représentations de sous-titres concernés.
Quand les codecs et les conteneurs sont importants
Choisissez le codec et le conteneur ensemble, car la prise en charge de l’un ne garantit pas celle de leur combinaison. Un fichier par ailleurs valide peut ne pas fonctionner lorsqu’un navigateur, un logiciel de montage ou un lecteur rejette son profil de codec ou son conditionnement.