3GP-zu-MP4konverter

Anleitung für Entwickler · 8 Min. Lesezeit

3GP in MP4 mit FFmpeg umwandeln: Befehle und Optionen

3GP in MP4 mit FFmpeg umwandeln: der genaue Befehl, der Unterschied zwischen Stream-Copy und Neukodierung, jeder Parameter erklärt, Stapelverarbeitung und ehrliche Grenzen. Plus die Frage, wann ein Browser-Tool ohne Installation der schnellere Weg ist.

Jan-Tristan Rudat
Jan-Tristan Rudat Veröffentlicht Geprüft

Kurz erklärt

Um eine 3GP in MP4 mit FFmpeg umzuwandeln, prüfst du zuerst die Videospur. Ist sie bereits H.264, übernimmst du sie ohne Neukodierung und wandelst nur den Ton:

ffmpeg -i eingang.3gp -c:v copy -c:a aac -b:a 192k -movflags +faststart ausgang.mp4

Steckt im 3GP das ältere H.263, ersetzt du -c:v copy durch -c:v libx264, dann wird das Bild neu kodiert. Wer FFmpeg nicht installieren will, nutzt unseren Konverter im Browser, der intern dieselbe FFmpeg-Logik per WebAssembly verwendet, ganz ohne Terminal und ohne Upload.

FFmpeg ist das Schweizer Taschenmesser der Videobearbeitung: ein quelloffenes Kommandozeilenwerkzeug, das praktisch jedes Videoformat lesen und schreiben kann. Wenn du Entwickler, Systemadministrator oder einfach jemand bist, der gern die volle Kontrolle über Codec, Qualität und Dateigröße hat, ist FFmpeg der direkteste Weg, um eine 3GP in MP4 umzuwandeln. 3GP ist ein altes Handyvideo-Format, das auf MPEG-4 aufsetzt und meist eine Videospur in H.263 oder H.264 mit einer AMR- oder AAC-Tonspur enthält. Genau diese Mischung entscheidet, ob du verlustfrei umpacken kannst oder neu kodieren musst. In diesem Ratgeber bekommst du den fertigen Befehl, verstehst jeden Parameter und lernst die ehrlichen Grenzen kennen. Eine bebilderte Schritt-für-Schritt-Variante findest du im Ratgeber 3GP in MP4 umwandeln.

Der FFmpeg-Befehl für 3GP nach MP4

Setze voraus, dass FFmpeg installiert ist (unter Windows etwa über winget install ffmpeg, unter macOS über brew install ffmpeg, unter Debian/Ubuntu über apt install ffmpeg). Bevor du loslegst, lohnt ein Blick in die Datei. Mit ffmpeg -i eingang.3gp ohne Ausgabedatei zeigt FFmpeg dir die enthaltenen Streams und Codecs an. Steht dort bei der Videospur h264, hast du Glück und kannst kopieren. Steht dort h263, musst du neu kodieren.

Der robuste Allzweckbefehl, der immer funktioniert, kodiert das Video sicher nach H.264 neu:

ffmpeg -i eingang.3gp \
  -c:v libx264 \
  -crf 23 \
  -preset veryfast \
  -pix_fmt yuv420p \
  -c:a aac \
  -b:a 192k \
  -movflags +faststart \
  ausgang.mp4

Dieser ffmpeg 3gp mp4 Befehl dekodiert das alte Handyvideo, kodiert es neu nach H.264, wandelt die Tonspur nach AAC um und schreibt eine MP4-Datei, die nahezu jedes Gerät und jeder Browser abspielt. Unter Windows in der klassischen Eingabeaufforderung ersetzt du die Zeilenumbrüche mit Backslash durch eine einzige Zeile oder nutzt am Zeilenende das Caret ^ statt \.

-c copy gegen libx264: der entscheidende Unterschied

Hier liegt der wichtigste Trick bei 3GP, der dir viel Zeit und Qualität sparen kann. Anders als beim älteren WMV-Format, dessen Codecs in MP4 grundsätzlich verboten sind, baut 3GP auf derselben MPEG-4-Familie auf wie MP4. Das bedeutet: Eine H.264-Videospur darf direkt in den MP4-Container übernommen werden, ohne sie anzufassen.

Wenn ffmpeg -i eingang.3gp dir also eine H.264-Spur meldet, nutze diesen schnellen, verlustfreien Befehl:

ffmpeg -i eingang.3gp -c:v copy -c:a aac -b:a 192k -movflags +faststart ausgang.mp4

Der Schalter -c:v copy kopiert die Bilddaten Bit für Bit in den neuen Container. Es findet keine Neukodierung statt, also gibt es keinen Qualitätsverlust und der Vorgang dauert nur Sekunden statt Minuten. Der Ton wird trotzdem nach AAC umgewandelt, weil 3GP oft den Schmalband-Codec AMR enthält, der in MP4 nicht zur Standardausstattung gehört. Ist der Ton bereits AAC, kannst du auch ihn mit -c:a copy kopieren und hast einen rein verlustfreien Remux.

Steckt dagegen das ältere H.263 im 3GP, scheitert -c:v copy, denn dieser Codec ist im MP4-Standard nicht zugelassen. Dann führt kein Weg an -c:v libx264 vorbei: Das Bild wird dekodiert und nach H.264 neu kodiert. Das kostet Rechenzeit und einen minimalen, mit guten Einstellungen kaum sichtbaren Qualitätsverlust. Mehr zur Codec-Geschichte des Formats steht in Was ist eine 3GP-Datei und im Vergleich 3GP gegen MP4: der Unterschied.

Jeder Parameter im Detail erklärt

Ein FFmpeg-Befehl wirkt kryptisch, ist aber logisch aufgebaut: zuerst die Eingabe, dann die Vorgaben für Video und Audio, zuletzt die Ausgabe. Hier ist jeder Schalter aus den Befehlen oben.

Parameter Was er bewirkt
-i eingang.3gp Legt die Eingabedatei fest. FFmpeg erkennt das 3GP-Format und die enthaltenen Codecs automatisch.
-c:v copy Übernimmt eine H.264-Videospur verlustfrei in den MP4-Container, ohne neu zu kodieren. Sehr schnell.
-c:v libx264 Kodiert das Bild nach H.264 neu. Nötig bei alten H.263-3GPs, die MP4 nicht direkt aufnehmen kann.
-crf 23 Steuert bei der Neukodierung die Qualität (Constant Rate Factor). Niedriger heißt bessere Qualität und größere Datei.
-preset veryfast Bestimmt das Tempo der Kodierung. Schneller heißt etwas größere Datei bei gleicher Qualität.
-pix_fmt yuv420p Erzwingt ein Farbformat, das wirklich jeder Player und QuickTime auf dem Mac versteht.
-c:a aac Wählt den AAC-Encoder. AMR-Ton aus alten 3GPs kann in MP4 nicht bleiben und wird so umgewandelt.
-b:a 192k Setzt die Audio-Bitrate auf 192 kBit/s, ein guter Wert für Sprache und Musik.
-movflags +faststart Schiebt die Metadaten an den Dateianfang, damit das MP4 im Web sofort startet, statt erst komplett zu laden.

Die Reihenfolge ist wichtig: Alles, was vor dem Ausgabenamen steht, gilt als Vorgabe für die Ausgabe. Wer den Befehl einmal verstanden hat, passt ihn in Sekunden an neue Anforderungen an. Willst du gleichzeitig die Tonspur unverändert behalten, lies 3GP-Tonspur behalten.

Qualität steuern: CRF, Preset und Audio

Sobald du neu kodierst, also libx264 einsetzt, ist der wichtigste Hebel für die Qualität der CRF-Wert. Er beschreibt, wie stark FFmpeg das Bild komprimiert. Als grobe Orientierung:

  • CRF 18: sehr hohe Qualität, kaum vom Original zu unterscheiden, aber deutlich größere Datei.
  • CRF 20 bis 23: der ausgewogene Bereich für die meisten Anwendungen. Gut sichtbare Qualität bei vernünftiger Größe.
  • CRF 26 bis 28: spürbar kleinere Datei, sichtbarer Qualitätsverlust. Sinnvoll, wenn die Dateigröße wichtiger ist als das letzte Detail.

Bei alten 3GP-Aufnahmen ist die Quellauflösung ohnehin niedrig, oft 176 mal 144 oder 320 mal 240 Pixel. Ein zu niedriger CRF bringt dann keinen sichtbaren Gewinn mehr, sondern bläht nur die Datei auf. CRF 23 ist hier fast immer die richtige Wahl. Das -preset beeinflusst nur die Kodiergeschwindigkeit, nicht die Bildqualität direkt: langsamer kodiert effizienter, also kleinere Datei bei gleichem CRF. Hochskalieren bringt übrigens keine echten Details zurück. Wenn du dennoch eine größere Darstellung willst, ergänzt du -vf scale=-2:480, wobei das -2 die Breite passend zum Seitenverhältnis und gerade hält. Wie du dabei sichtbare Verluste vermeidest, steht in 3GP in MP4 ohne Qualitätsverlust.

Stapelverarbeitung mehrerer Dateien

Der große Vorteil der Kommandozeile zeigt sich, wenn du viele Dateien auf einmal umwandeln willst, etwa ein ganzes Archiv alter Handyvideos. Auf macOS und Linux erledigt eine kurze Schleife in der Shell den ganzen Ordner:

for f in *.3gp; do
  ffmpeg -i "$f" -c:v libx264 -crf 23 -preset veryfast \
    -c:a aac -b:a 192k -movflags +faststart "${f%.3gp}.mp4"
done

Unter Windows in PowerShell sieht dieselbe Aufgabe so aus:

Get-ChildItem *.3gp | ForEach-Object {
  ffmpeg -i $_.Name -c:v libx264 -crf 23 -preset veryfast `
    -c:a aac -b:a 192k -movflags +faststart "$($_.BaseName).mp4"
}

So konvertierst du dutzende 3GP-Aufnahmen automatisch nach MP4, ohne jeden Befehl einzeln einzutippen. Wenn du sicher weißt, dass alle Quellen H.264 enthalten, tausche -c:v libx264 -crf 23 -preset veryfast gegen -c:v copy aus, dann läuft der ganze Stapel verlustfrei und um ein Vielfaches schneller durch. Eine geführte Variante ohne Terminal beschreibt mehrere 3GP-Dateien umwandeln.

Häufige Fehler und Lösungen

  • "Could not find tag for codec h263" bei -c:v copy: Das ist kein Bug. Die 3GP enthält eine H.263-Videospur, die MP4 nicht aufnimmt. Lass -c:v copy weg und kodiere mit -c:v libx264 neu.
  • Kein Ton in der MP4: Viele 3GPs haben eine AMR-Tonspur. Stelle sicher, dass -c:a aac gesetzt ist, statt den Ton zu kopieren. AMR passt nicht verlustfrei in einen MP4-Container.
  • Bild ruckelt oder Ton driftet: Alte Handyaufnahmen haben manchmal variable Bildraten. Ergänze -vsync 2 oder synchronisiere den Ton mit -af aresample=async=1 neu.
  • Datei wirkt unscharf nach der Umwandlung: Das liegt am niedrig aufgelösten Original, nicht an FFmpeg. Ein 3GP von 2008 enthält schlicht wenig Bildinformation. Mehr dazu in 3GP-Datei zu groß.

Mit ffmpeg -i eingang.3gp ohne Ausgabedatei zeigt FFmpeg dir zuerst die enthaltenen Streams und Codecs an. Das ist der schnellste Weg, um zu verstehen, ob du kopieren oder neu kodieren musst, bevor du den eigentlichen Befehl absetzt.

Wann ein Browser-Tool der schnellere Weg ist

FFmpeg ist mächtig, aber nicht für jeden und nicht für jede Situation die beste Wahl. Es will installiert, im Terminal bedient und über teils kryptische Schalter gesteuert werden. Für eine einzelne Datei, auf einem fremden Rechner ohne Adminrechte oder wenn du einfach keine Lust auf die Kommandozeile hast, ist das viel Aufwand für ein kleines Ziel.

Genau dafür gibt es unseren 3GP-zu-MP4-Konverter im Browser. Er nutzt im Hintergrund dieselbe FFmpeg-Technik, kompiliert als WebAssembly (ffmpeg.wasm), und führt sie direkt auf deinem Gerät aus. Das bedeutet konkret:

  • Keine Installation: kein Terminal, keine Adminrechte. Beim ersten Mal lädt der Konverter einmalig rund 30 MB FFmpeg-Engine, danach läuft alles offline im Tab.
  • Kein Upload, kein Konto, kein Limit: Die Umwandlung läuft zu 100 Prozent lokal in deinem Browser. Die Videodatei verlässt dein Gerät nicht, anders als bei Server-Konvertern. Warum das beim Datenschutz vorn liegt, erklärt 3GP in MP4 und der Datenschutz.
  • Dieselbe Logik: H.264-Spuren werden, wo möglich, ohne Neukodierung übernommen, H.263 und AMR werden zu H.264/AAC umgewandelt. Du musst keine Parameter auswendig kennen.
  • Ehrliche Grenzen: ffmpeg.wasm läuft im Arbeitsspeicher des Browsers. Sehr große oder sehr lange Videos können daher an Speichergrenzen stoßen. Für solche Fälle und für große Stapel bleibt die native FFmpeg-Installation die schnellere Wahl.

Die Faustregel ist einfach: Wenn du regelmäßig viele oder sehr große Videos automatisiert verarbeitest, lohnt sich FFmpeg auf dem eigenen Rechner. Geht es um eine oder einige wenige Dateien und du willst kein Werkzeug installieren, ist das Browser-Tool der schnellere und datenschutzfreundlichere Weg.

Häufige Fragen zu FFmpeg und 3GP nach MP4

Wie lautet der einfachste FFmpeg-Befehl, um 3GP in MP4 umzuwandeln?

Wenn die Videospur schon H.264 ist, genügt ffmpeg -i eingang.3gp -c:v copy -c:a aac ausgang.mp4. Das übernimmt das Bild ohne Neukodierung und wandelt nur den Ton nach AAC. Bei H.263 nimmst du stattdessen -c:v libx264.

Was ist der Unterschied zwischen -c copy und libx264?

Mit -c copy wird die Spur unverändert in den neuen Container kopiert, das ist verlustfrei und sehr schnell, geht aber nur, wenn der Codec im MP4 erlaubt ist. libx264 kodiert das Bild neu nach H.264, was bei H.263-3GPs nötig ist und Zeit sowie minimalen Qualitätsverlust kostet.

Kann ich jede 3GP verlustfrei nach MP4 umpacken?

Nur teilweise. Eine H.264-Videospur lässt sich mit -c:v copy ohne Qualitätsverlust übernehmen. Älteres H.263 und der AMR-Ton sind in MP4 nicht vorgesehen und müssen nach H.264 und AAC neu kodiert werden.

Wie konvertiere ich viele 3GP-Dateien auf einmal?

Mit einer Schleife: auf macOS und Linux for f in *.3gp; do ffmpeg -i "$f" ... "${f%.3gp}.mp4"; done, unter Windows in PowerShell über Get-ChildItem *.3gp | ForEach-Object { ffmpeg -i $_.Name ... }. So läuft die Stapelverarbeitung ohne manuelle Einzelbefehle.

Brauche ich FFmpeg überhaupt, oder reicht ein Online-Tool?

Für eine einzelne Datei oder ohne Lust auf das Terminal reicht unser Browser-Konverter, der dieselbe FFmpeg-Technik als WebAssembly lokal ausführt, ohne Installation und ohne Upload. Für sehr große oder sehr lange Videos und große Stapel ist die native FFmpeg-Installation schneller.

Das könnte dich auch interessieren

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige