Was ist der Unterschied zwischen einem Codec und einem Container?
Ein Codec legt fest, wie Audio-, Video- oder Bilddaten codiert und decodiert werden. Ein Container verpackt dagegen Streams, Zeitangaben, Metadaten und Untertitel. MP4 ist ein Container, der Codecs wie H.264 und AAC enthalten kann.
So funktionieren Codecs und Container
Komprimierte Elementarstreams beschreiben für sich allein keine vollständige abspielbare Datei. Ein Container verschachtelt eine oder mehrere Spuren und speichert Zeitangaben, Synchronisation, Sprache, Kapitelinformationen und weitere Metadaten. Jede Spur kennzeichnet dabei, wie ihre Abtastwerte komprimiert wurden. Remuxing verändert die Verpackung, ohne die Medien zu rekonstruieren; Transkodierung verändert das Encoding eines Streams. Die Wiedergabe hängt daher vom Codec, seinem Profil und seinen Parametern, der Einbindung in den Container und der Kombination aus Decoder und Demultiplexer ab.
Wichtige Fakten
- Eine Dateiendung wie .mp4 oder .webm kennzeichnet die Verpackung, nicht die darin verwendete Kompression. Zwei Dateien mit derselben Endung können unterschiedliche Video- oder Audiodecoder erfordern.
- Das Springen innerhalb der Medien hängt sowohl von Containerindizes als auch von Codec-Bildern für wahlfreien Zugriff ab: Ein gültiger Index kann ein interprädiziertes Bild nicht unabhängig decodierbar machen.
- Das Kopieren von Spuren zwischen Containern ist nur dann verlustfrei, wenn das Zielformat die betreffenden Codec-Sample-Einträge, Zeitstempel, Metadaten und Untertiteldarstellungen zulässt.
Wann Codecs und Container wichtig sind
Wählen Sie Codec und Container gemeinsam aus, da die Unterstützung eines der beiden nicht die Unterstützung ihrer Kombination garantiert. Eine ansonsten gültige Datei kann scheitern, wenn ein Browser, Editor oder Player ihr Codec-Profil oder ihre Verpackung ablehnt.