Zunächst müssen Sie zwischen einem Video- / Audio- Codec und einem Multimedia- Container unterscheiden . Ich habe in einer anderen Super User-Antwort ausführlicher über den Unterschied zwischen Codecs und Containern gesprochen . Kurz gesagt: In einem Container können verschiedene Audio- und Video-Bitströme (und Untertitel, Daten, Bilder usw.) gespeichert werden.
Dieser Vorgang des Zusammenführens von Bitströmen in einen Container wird in der Tat oft als "Multiplexing" bezeichnet. Sie könnten den Prozess des Verschachtelns von Audio / Video zu einem Multiplexing von Containern bezeichnen, aber streng genommen gilt dieser Begriff für MPEG-2-Transportstream-Multiplexing. Wir kommen später dazu.
Nun gibt es verschiedene Containerformate, die jedoch alle denselben Zweck haben: Die Synchronisierung der Streams im Inneren erledigen. Sie möchten sicherstellen, dass zusammengehörige Teile gleichzeitig abgespielt werden. Der Container enthält Metainformationen, die einem Wiedergabegerät genau sagen, wo es suchen und was abgespielt werden soll, beispielsweise 00: 02: 01.250.
Andere Dinge, die Sie in Containern ausführen können, umfassen Informationen zum Stream selbst. In vielen Streaming-Kontexten muss der Player beispielsweise die Größe des Videos, seine Bildrate und verschiedene andere Dinge kennen. Wenn Sie eine MP4-Datei streamen (MPEG-4 Part 14 ist ein Container und kein Codec), möchten Sie, dass das MOOV-Atom am Anfang der Datei platziert wird, damit der Player es sofort analysieren kann. Normalerweise befindet sich dieses "Atom" von Daten am Ende der Datei, wo es nicht wirklich nützlich ist, da Sie vor dem Streaming die gesamte Datei herunterladen müssen. Aus diesem Grund gibt es Tools, um es an den Anfang zu bringen, wie zB qt-faststart .
Wichtig ist jedoch, dass in jeder Multimedia-Anwendung, die Container aus einzelnen Bitstreams multiplext, diese Streams zuerst codiert werden. Es gibt kein "integriertes A / V-Signal", das codiert wird - der Container wird einfach das vorhandene umbrechen und die eigentlichen Audio- und Videodaten nicht berühren. Ihr Video wird also einem Video-Encoder zugeführt, Ihr Audio wird einem Audio-Encoder zugeführt. Das Ergebnis dieser beiden Aufgaben wird im Container zusammengeführt / verschachtelt. Der Container sorgt dafür, dass der endgültige Bitstream zusammengestellt wird, der in einem Streaming-Kontext übertragen oder als Datei gespeichert werden kann.
Nun gibt es viele Behälter, die für verschiedene Anwendungen geeignet sind. MPEG-2-Transportströme werden üblicherweise bei Fernsehübertragungen verwendet. Hier werden mehrere TV-Kanäle in einen Container gemultiplext, der dann über Funk, Kabel oder Satellit übertragen wird. Das Multiplexverfahren ist das Zeitmultiplexverfahren . "Multiplexing" ist hier auch der korrekte Fachbegriff. Für andere Behälter wird es nicht so oft verwendet. MPEG-4 Part 14 (MP4, das haben wir zuvor kurz erwähnt) ist dagegen im Web- und Mobile-Bereich sehr verbreitet und wird immer mehr zum Standard für den Austausch von Dateien, auch im professionellen Bereich.
Es gibt andere Container wie MKV, Ogg, MPEG-Programmstreams, FLV und viele mehr. Welche Sie wählen, hängt von der Anwendung ab, wie Sie sehen können, dies würde jedoch den Rahmen sprengen.