Layer 8Ehrlicher Tech-Support

MP4 ist kein Codec: Container und Codec verwechselt

Zwei Dateien, beide .mp4 — eine läuft, die andere nicht? Die Endung nennt nur die Kiste, nicht ihren Inhalt. Der meistverwechselte Unterschied überhaupt.

Aufwand:
ca. 15 Min.
Voraussetzung:
Ein Abspieler, der die Spurinformationen anzeigt
Gilt für:
Videodateien auf Windows, macOS, Linux, Fernsehern und Mobilgeräten

Das Symptom

Zwei Videodateien liegen nebeneinander im selben Ordner. Beide enden auf .mp4, beide sind ungefähr gleich groß, beide stammen aus derselben Quelle. Die eine öffnet sich mit einem Doppelklick und läuft. Die andere bringt eine Fehlermeldung, oder ein schwarzes Bild mit Ton, oder Bild ohne Ton. Auf dem Fernseher ist es dann ausgerechnet umgekehrt. Und irgendwann fällt der Satz, der die nächsten zwei Stunden kostet: Dann sei wohl das MP4-Format kaputt.

Die „Layer 8“-Wahrheit

MP4 ist kein Format in dem Sinne, in dem das Wort hier benutzt wird. MP4 ist eine Kiste. Was in der Kiste liegt, steht außen nicht drauf — und die vier Zeichen hinter dem Punkt sagen über den Inhalt genau nichts aus.

Die IETF hat für diese Sorte Medientypen sogar ein eigenes Wort geprägt: Sie nennt sie Eimer-Typen und hält in RFC 6381 nüchtern fest, was ein empfangendes Programm bei so einer Datei überhaupt weiß, nämlich dass es ein Containerformat vor sich hat. Es wisse nicht einmal, ob eine als Video ausgewiesene Datei tatsächlich Video enthalte; es könne genauso gut nur Ton sein, Ton und Bild, oder Bild allein. Der Abspieler steht also vor einer verschlossenen Kiste mit einer Aufschrift, die ihm nichts verrät. Erst wenn er sie öffnet, findet er darin Spuren — und erst dann stellt sich heraus, ob er das entpacken kann, was in diesen Spuren steckt.

Diese zweite Ebene ist der Codec, und dort spielt die eigentliche Musik. H.264, H.265, AV1, AAC, Opus: Das sind die Verfahren, mit denen Bild und Ton zusammengepresst wurden, und nur ihretwegen läuft eine Datei oder eben nicht. Microsoft macht die Trennung in seiner eigenen Dokumentation sichtbar, indem es schlicht drei getrennte Tabellen führt — eine für Container, eine für Ton-Codecs, eine für Bild-Codecs. In der Container-Tabelle steht MPEG-4 mit gleich vier Endungen in einer Zeile: .m4a, .m4v, .mov und .mp4. Vier Namen, eine Kiste. Wer glaubt, .mov und .mp4 seien zwei verschiedene Dinge, hat schon dort verloren.

Daraus folgt die einzige Frage, die bei einer nicht abspielbaren Datei weiterhilft: Scheitert es an der Kiste oder an ihrem Inhalt? Scheitert es an der Kiste, reicht Umpacken — der Inhalt wandert bitgenau unverändert in einen anderen Container, das dauert Sekunden und kostet keine Qualität. Scheitert es am Codec, hilft nur echtes Umkodieren, das dauert Stunden und kostet ein wenig Qualität. Beides wird im Alltag „umwandeln“ genannt, und genau deshalb warten Leute drei Stunden auf ein Ergebnis, das sie in zehn Sekunden hätten haben können.

Wie gut die Unterscheidung wirkt, wenn man sie ernst nimmt, zeigt das Streaming: Dort schreibt der Anbieter die enthaltenen Codecs ausdrücklich neben jede Qualitätsstufe, mit Kennungen wie mp4a.40.2 für den Ton und avc1.4d401e für das Bild. Das Gerät muss also gar nicht erst ausprobieren, ob es kann — es liest vorher nach. Bei einer Datei auf der Festplatte macht das niemand. Deshalb übernimmst du diesen Schritt, indem du einmal hineinschaust, statt an der Endung herumzubenennen.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Aufhören, die Datei umzubenennen

    Der erste Reflex ist fast immer, die Endung von .mkv auf .mp4 zu ändern. Das ändert nichts außer dem Namen: Der Inhalt der Kiste bleibt exakt derselbe, und wenn der Abspieler ihn vorher nicht entpacken konnte, kann er es danach auch nicht. Schlimmer noch, jetzt steht auf der Kiste etwas anderes drin, als drin ist — und der nächste Fehler wird dadurch schwerer zu finden. Die Endung zurücksetzen.

  2. 2.

    Nachsehen, was tatsächlich in der Datei liegt

    Einen Abspieler öffnen, der die Spurinformationen anzeigt, und die Datei dort einmal aufschlagen. Sichtbar werden soll dreierlei: der Container, der Video-Codec und der Audio-Codec. Erst danach reden wir über eine Ursache. Alles davor ist Raten — und zwar Raten über eine Angabe, die vier Zeichen lang ist und nichts über den Inhalt sagt.

  3. 3.

    Die Gegenprobe mit einem Abspieler machen, der alles mitbringt

    Dieselbe Datei in einem Abspieler öffnen, der seine Codecs selbst mitbringt, statt sie beim Betriebssystem zu suchen. Läuft sie dort, ist die Datei einwandfrei und dem Betriebssystem fehlt nur ein Decoder. Läuft sie auch dort nicht, liegt es an der Datei selbst — dann erst lohnt sich der Gedanke an einen abgebrochenen Download.

  4. 4.

    Bei Ton ohne Bild gezielt den Video-Codec prüfen

    Wenn eine Spur läuft und die andere nicht, kennst du bereits die Hälfte der Antwort. Nachsehen, welcher Codec in der stummen beziehungsweise schwarzen Spur steckt, und prüfen, ob das Gerät ihn überhaupt kennt. Bei neueren Verfahren wie H.265 und AV1 ist das die Regel und nicht die Ausnahme: Ältere Fernseher, Autoradios und Kameras kennen sie schlicht nicht.

  5. 5.

    Für fremde Geräte umkodieren statt umbenennen

    Soll die Datei auf einem Fernseher, im Auto oder auf einem alten Handy laufen, hilft nur, den Inhalt tatsächlich in ein Verfahren zu überführen, das dieses Gerät beherrscht — in aller Regel H.264 für Bild und AAC für Ton, im MP4-Container. Das dauert je nach Länge Minuten bis Stunden und kostet ein wenig Qualität, weil neu komprimiert wird. Es ist der einzige Weg, der wirklich etwas ändert.

  6. 6.

    Das Umpacken vom Umkodieren unterscheiden

    Wenn das Zielgerät den Codec kann und nur den Container nicht mag, reicht das reine Umpacken: Der Inhalt wandert unverändert in eine andere Kiste, die Qualität bleibt bitgenau gleich, und es dauert Sekunden statt Stunden. Vor jeder Umwandlung also die Frage stellen, welche der beiden Ebenen überhaupt das Problem ist. Wer sie verwechselt, wartet drei Stunden auf ein Ergebnis, das er in zehn Sekunden hätte haben können.

Häufige Fragen (FAQ)

?Beide Dateien heißen .mp4. Warum läuft nur eine?

Weil die Endung nur die Kiste benennt und nicht ihren Inhalt. Genau dafür hat die IETF eine eigene Bezeichnung erfunden: Sie nennt solche Medientypen „Bucket“-Typen, also Eimer, und schreibt über sie den Satz, der die ganze Verwechslung auflöst — „With each 'bucket' type, a receiving agent only knows that it has a container format. It doesn't even know whether content that is labeled video/3gpp or video/3gpp2 contains video; it might be audio only, audio and video, or video only.“ Der Abspieler weiß beim Öffnen also nur, dass er eine Kiste vor sich hat. Ob er ihren Inhalt entpacken kann, entscheidet sich erst danach.

?Was ist der Unterschied zwischen Container und Codec in einem Satz?

Der Container regelt, wie Bild, Ton, Untertitel und Zeitmarken nebeneinander in einer Datei liegen; der Codec regelt, wie das einzelne Bild und der einzelne Ton komprimiert sind. MP4, MKV, AVI und MOV sind Container. H.264, H.265, AV1, AAC und Opus sind Codecs. Microsoft trennt das in seiner eigenen Dokumentation sogar sichtbar in drei getrennte Tabellen — „File Containers“, „Audio Codecs“ und „Video Codecs“ —, und in der Container-Tabelle steht MPEG-4 mit gleich vier Endungen nebeneinander: „.m4a, .m4v, .mov, .mp4“. Vier verschiedene Namen, eine Kiste.

?Ist MKV besser als MP4?

Die Frage ist falsch gestellt, und deshalb bekommt sie hier keine Antwort mit Ja oder Nein. Ein Container ist nicht besser oder schlechter, sondern verbreiteter oder seltener. MKV kann mehr Spuren und mehr Untertitelarten nebeneinander halten, MP4 wird von mehr Geräten gelesen. Die Bildqualität hängt an keiner der beiden Kisten, sondern am Codec und an der Datenrate darin. Wer eine Datei von MKV nach MP4 „umwandelt“, ohne den Codec anzufassen, packt denselben Inhalt nur um — das dauert Sekunden und ändert an der Qualität nichts.

?Ich habe Ton, aber kein Bild. Ist die Datei kaputt?

Fast nie. Das ist im Gegenteil das sauberste Anzeichen dafür, dass der Container gelesen wird und ein Codec fehlt. Der Abspieler hat die Kiste geöffnet, beide Spuren gefunden, die Tonspur entpacken können und die Bildspur nicht. Eine wirklich beschädigte Datei verhält sich anders: Sie bricht meist an einer festen Stelle ab oder lässt sich gar nicht erst öffnen. Ton ohne Bild ist ein Codec-Befund, kein Schaden.

?Woher weiß ein Streaming-Dienst vorher, ob mein Gerät das abspielen kann?

Weil er es dazuschreibt, statt es ausprobieren zu lassen. Der Standard für Live-Streaming verlangt für jede Qualitätsstufe eine Angabe der enthaltenen Codecs und nennt dafür ein Beispiel im Klartext: „a stream containing AAC low complexity (AAC-LC) audio and H.264 Main Profile Level 3.0 video would have a CODECS value of 'mp4a.40.2,avc1.4d401e'.“ Diese Kennungen stammen aus derselben IETF-Spezifikation, die den Eimer beschreibt. Ein Streaming-Dienst umgeht das Problem also, indem er die Kiste beschriftet. Bei einer Datei auf der Festplatte macht das niemand.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Verwandte Fehler

SWLästigRestarting (1)

Docker-Container startet endlos neu

Der Container hängt in einer Neustartschleife. Der Hauptprozess beendet sich – die Logs des abgestürzten Laufs verraten, warum.

SWLästigexec format error

Docker: exec format error

Der Container startet nicht und meldet „exec format error“? Fast immer passt die Prozessorarchitektur des Images nicht zum Host — ARM gegen x86.

SWLästig

Aus dem Gratis-Test wurde ein Abo

§ 312k BGB schreibt eine Kündigungsschaltfläche vor. Fehlt sie, ist der Vertrag jederzeit ohne Kündigungsfrist kündbar – das ist der schärfste Hebel.