Ratgeber · grundlagen
Stream-Copy vs. Re-Encode: verlustfrei umpacken oder neu kodieren
Warum MP4 zu MOV fast immer ein reines Container-Umpacken ist und kein Re-Encode. Wie -c copy funktioniert, wann es scheitert, warum es verlustfrei und sekundenschnell ist und wann sich ein echtes Neukodieren lohnt.
Container und Codec sind zwei verschiedene Dinge
Wenn du eine Videodatei umwandelst, ist die erste Frage nicht “welche Qualität”, sondern “muss überhaupt etwas neu gerechnet werden”. Um das zu verstehen, musst du zwei Begriffe sauber trennen, die im Alltag oft durcheinandergeraten.
Der Container ist die äußere Hülle, also das Dateiformat. MP4 und MOV sind beides Container. Sie legen fest, wie die Datei aufgebaut ist, wo die Metadaten stehen, wo die eigentlichen Video- und Audiodaten liegen und wie ein Abspielprogramm das alles findet. Technisch sind sich MP4 und MOV extrem ähnlich, denn beide bauen auf derselben Box-Struktur auf. MOV ist sogar das ältere Format von Apple, aus dem MP4 hervorgegangen ist. Mehr dazu liest du im Vergleich MP4 vs. MOV.
Der Codec ist das, was im Inneren steckt, also das Verfahren, mit dem die Bilder und der Ton komprimiert wurden. Die allermeisten MP4-Dateien aus Kameras, Smartphones und Downloads enthalten Video im Codec H.264 und Audio im Codec AAC. Genau diese beiden Codecs darf ein MOV-Container ebenfalls enthalten. Das ist der entscheidende Punkt: Wenn der Codec in beide Hüllen passt, muss man die Daten nicht anfassen, sondern nur die Hülle wechseln.
Daraus ergeben sich zwei grundverschiedene Arten, eine MP4 in eine MOV zu verwandeln. Die eine ist sekundenschnell und verlustfrei, die andere rechnet jeden einzelnen Frame neu.
Stream-Copy: die Hülle wechseln, den Inhalt behalten
Stream-Copy bedeutet, dass die vorhandenen Video- und Audiodaten bitgenau aus der MP4 herausgelesen und unverändert in einen neuen MOV-Container geschrieben werden. In FFmpeg, der Engine, die auch im Browser von mp4mov.de läuft, aktiviert man das mit dem Parameter -c copy. Der vollständige Befehl sieht so aus:
ffmpeg -i input.mp4 -c copy -movflags +faststart output.mov
Was hier passiert, ist erstaunlich wenig Arbeit für den Rechner:
- FFmpeg öffnet die MP4 und liest, wo die einzelnen Frames im Datenstrom anfangen und aufhören.
- Statt jeden Frame zu dekomprimieren und neu zu komprimieren, kopiert FFmpeg die rohen, bereits komprimierten Bytes direkt.
- Es schreibt eine neue MOV-Hülle drumherum, also einen neuen Datei-Kopf mit den passenden Metadaten und den unveränderten Mediendaten.
- Mit
-movflags +faststartwird der Metadaten-Block an den Dateianfang verschoben, damit das Video sofort startet und nicht erst vollständig geladen sein muss.
Weil die eigentlichen Bilddaten nie dekomprimiert werden, gibt es null Qualitätsverlust. Die Pixel in der MOV sind exakt dieselben wie in der MP4, Bit für Bit. Und weil der Rechner nur Daten von A nach B schaufelt statt sie zu analysieren, läuft das praktisch mit Festplatten-Geschwindigkeit. Ein fünfminütiger 1080p-Clip ist oft in wenigen Sekunden fertig, während ein echtes Neukodieren dafür Minuten brauchen würde.
Für die typische Umwandlung von MP4 zu MOV ist Stream-Copy deshalb der Standardweg. Genau das macht mp4mov.de im Modus Verlustfrei: H.264-Video und AAC-Audio wandern unverändert in die MOV-Hülle, lediglich +faststart wird gesetzt.
Was +faststart mit der Datei macht
Der Block mit den Metadaten heißt in der MP4- und MOV-Welt moov (von “movie”). Standardmäßig schreiben viele Programme diesen Block ans Ende der Datei, weil seine genaue Größe erst nach dem Schreiben aller Daten feststeht. Beim lokalen Abspielen ist das egal. Beim Streamen über das Netz ist es ärgerlich, weil der Player erst das Dateiende kennen muss, bevor er loslegen kann.
+faststart verschiebt den moov-Block an den Anfang. Der Player sieht sofort, wie das Video aufgebaut ist, und kann mit dem Abspielen beginnen, während der Rest noch lädt. Warum das für Webvideo so wichtig ist und wie progressives Streaming funktioniert, erklärt der Ratgeber zu faststart und progressivem Streaming.
Wichtig zu wissen: +faststart ist die einzige Änderung, die beim verlustfreien Umpacken überhaupt an der Datei vorgenommen wird, und auch sie betrifft nur die Anordnung der Hülle, nicht die Bilddaten. Die eigentlichen Mediendaten, in der Box-Struktur mdat genannt, werden Byte für Byte übernommen. Lediglich der neue moov-Block bekommt aktualisierte Verweise darauf, wo im Datenstrom welcher Frame liegt. Das ist der ganze Trick: neue Hülle, neue Wegweiser, unveränderter Inhalt.
Re-Encode: jeder Frame wird neu gerechnet
Re-Encode ist der aufwendige Weg. Hier wird das Video tatsächlich auseinandergenommen und neu zusammengesetzt:
- Der Decoder dekomprimiert die Frames der MP4 zurück zu rohen Pixeldaten.
- Optional schiebt FFmpeg diese Pixel durch Filter, etwa zum Skalieren der Auflösung oder zum Zuschneiden der Länge.
- Der Encoder komprimiert die Pixel wieder, beim Standard-Codec H.264 über die Bibliothek
libx264. - Der Ton wird parallel neu kodiert, üblicherweise als AAC.
Die Qualität beim Neukodieren steuert der CRF-Wert (Constant Rate Factor). Er reicht von 0 (verlustfrei, riesige Datei) bis 51 (stark komprimiert, kleine Datei). Der Standard für H.264 liegt bei 23, ein guter Web-Wert zwischen 20 und 23. Niedrigere Zahlen bedeuten bessere Qualität und größere Dateien.
Der große Vorteil von Re-Encode ist die Freiheit: Nur beim Neukodieren kannst du die Auflösung verkleinern, das Video zuschneiden, die Bitrate begrenzen oder den Codec wechseln, etwa von HEVC auf das breiter unterstützte H.264. Welche Codecs in einer MOV überhaupt sinnvoll sind, behandelt der Ratgeber zu MOV-Codecs H.264, HEVC und ProRes.
Der Nachteil: Jedes Neukodieren mit einem verlustbehafteten Codec wirft Daten weg. Der Encoder rundet beim Komprimieren feinste Helligkeits- und Farbunterschiede weg, die das Auge ohnehin kaum erfasst. Bei einer einzelnen Umwandlung mit CRF 20 sieht man das praktisch nicht. Wer aber dieselbe Datei mehrmals durch einen Encoder schickt, sammelt mit jeder Generation sichtbare Block-Artefakte und Farbabweichungen an. Diesen schleichenden Effekt nennt man Generationsverlust. Geh deshalb bei mehreren Zielformaten immer vom Original aus, nicht von einer schon umgewandelten Zwischenversion.
Auch der Ton wird beim Neukodieren angefasst. Während Stream-Copy die vorhandene AAC-Spur unverändert übernimmt, rechnet Re-Encode sie neu, typischerweise als AAC mit 128 oder 192 kbit/s. Bei einem reinen Umpacken bleibt der Originalton dagegen bitgenau erhalten, was vor allem bei Musik und Sprachaufnahmen ein spürbarer Vorteil ist.
Wann Stream-Copy nicht funktioniert
Stream-Copy klappt nur, solange der vorhandene Codec auch im Zielcontainer erlaubt ist. In den allermeisten Fällen ist das so, weil MP4 und MOV fast denselben Codec-Vorrat teilen. Es gibt aber Ausnahmen, bei denen ein Neukodieren unvermeidlich wird:
- Die MP4 enthält einen exotischen oder ungewöhnlichen Codec, der zwar dekodiert werden kann, aber in einer MOV nicht sauber abgespielt würde.
- Die Audiospur liegt in einem Format vor, das die MOV-Hülle nicht zulässt.
- Du willst beim Umwandeln ohnehin etwas ändern, also skalieren, schneiden oder die Bitrate begrenzen. Sobald sich die Bilddaten verändern, ist Stream-Copy per Definition raus.
In den ersten beiden Fällen erkennt das Tool die Inkompatibilität und schaltet automatisch auf Re-Encode um, damit am Ende eine abspielbare Datei herauskommt. Du musst dich darum nicht kümmern.
Stream-Copy und Re-Encode im direkten Vergleich
Die folgende Tabelle fasst zusammen, wofür die beiden Modi stehen. Genau diese Wahl triffst du in mp4mov.de über das Modus-Toggle zwischen Verlustfrei und Neu kodieren.
| Eigenschaft | Stream-Copy (Verlustfrei) | Re-Encode (Neu kodieren) |
|---|---|---|
| Qualität | bitgenau identisch, kein Verlust | hängt vom CRF-Wert ab, leichter Verlust |
| Geschwindigkeit | Sekunden, fast Festplatten-Tempo | Minuten, je nach Länge und Auflösung |
| Dateigröße | praktisch wie das Original | frei steuerbar über CRF und Bitrate |
| Skalieren möglich | nein | ja |
| Schneiden möglich | nur an Keyframe-Grenzen grob | ja, framegenau |
| Codec wechseln | nein | ja |
| CPU-Last | sehr niedrig | hoch, rechnet jeden Frame |
| Standardfall MP4 zu MOV | ja, der Normalweg | nur wenn nötig oder gewünscht |
Welcher Modus für dich der richtige ist
Die Faustregel ist einfach. Willst du eine MP4 nur in eine MOV verpacken, etwa weil ein Schnittprogramm wie Final Cut Pro oder iMovie das MOV-Format bevorzugt, dann ist Verlustfrei die richtige Wahl. Du bekommst dieselbe Qualität in Sekunden, ohne ein einziges Pixel zu verlieren. Das ist der häufigste Fall und der Grund, warum mp4mov.de standardmäßig in diesem Modus arbeitet.
Den Modus Neu kodieren brauchst du nur, wenn du beim Umwandeln aktiv etwas verändern willst: ein 4K-Video auf 1080p verkleinern, einen langen Clip kürzen, eine zu große Datei kleiner rechnen oder einen HEVC-Stream auf das kompatiblere H.264 bringen. In all diesen Fällen führt kein Weg am Neukodieren vorbei, und der Qualitätsverlust ist der Preis für die Flexibilität.
Ein angenehmer Nebeneffekt der verlustfreien Variante: Weil keine Bilddaten dekomprimiert werden, bleibt die ganze Verarbeitung im Browser besonders schlank und schnell, ohne dass deine Videos jemals einen Server erreichen. Wie genau die Umwandlung lokal auf deinem Gerät abläuft und warum das für den Datenschutz wichtig ist, liest du im Ratgeber zum Datenschutz beim Video-Konverter.
Unterm Strich gilt: MP4 zu MOV ist fast immer ein reines Umpacken. Greif zum Neukodieren nur, wenn du es wirklich brauchst, und du sparst Zeit und Qualität gleichermaßen.
Hast du einen Fehler entdeckt oder einen Quellen-Hinweis für uns? Schreib gern an info@akara-solutions.de.
Quellen
- ffmpeg.org: Stream copy (-c copy) Dokumentation
- Apple: QuickTime File Format Specification
- ffmpeg.org: -movflags +faststart
Korrekturen oder bessere Quellen? Schreib an info@akara-solutions.de. Änderungen landen mit Datum auf /korrekturen.
