Ich möchte meinen h.264 avi Container in einen mp4 Container mit ffmpeg umwandeln. Ich habe festgestellt, dass das funktioniert:
%Vor%Dies erzeugt eine Datei, die ich mit dem HTML5-Videoplayer abspielen kann, aber für ältere Browser möchte ich einen Flash-Player (Flowplayer) verwenden. Die Datei wird nicht mit dem Flowplayer abgespielt, sondern verursacht einen Absturz.
Aber wenn ich verwende:
%Vor%Das funktioniert großartig. Aber das Timing ist ganz anders, ganz zu schweigen von CPU-Zyklen. Der erste Befehl wird in Millisekunden gemessen, während der zweite sehr lange dauern kann (~ 5-40 Sekunden).
Gibt es eine andere Möglichkeit, die avi schnell in einen mp4-Container umzuwandeln? Im Idealfall durch Re-Muxing im Gegensatz zu Re-Encoding.
BEARBEITEN
Ich benutze das jetzt, was ich für die Neucodierung am schnellsten finde. Aber ich würde das lieber nicht tun. Ich möchte nur den Code neu muxen.
ffmpeg -loglevel quiet -i myfile.avi -vcodec libx264 -profile:v baseline -preset ultrafast myfile.mp4
Ich hätte es nicht anders gemacht, als Sie es schon getan haben. Ich habe versucht, die Datei mit ffmpeg-1.2 auf OS X 10.7 zu remuxen:
%Vor%Ich habe Ihre Befehle und explizit
ausprobiert %Vor%Aber ich habe immer die folgenden Fehler bekommen:
%Vor%Also habe ich schnell nach der Fehlernummer gesucht und festgestellt, dass pcm_s16le nicht mit mp4 kompatibel ist. Sehen Sie diesen Fehlerbericht auf dem ffmpeg-Tracker .
Dies würde möglicherweise die verschiedenen Ergebnisse mit beiden Befehlen erklären - obwohl es seltsam ist, dass es in Ihrem Fall keinen Fehler ergab (alter ffmpeg snapshot?).
Ich denke also, die Lösung könnte / wäre es, einen anderen Audiocodec von Anfang an bereitzustellen oder die Audiospur in einen anderen Codec umzuwandeln. Als schnellen Test habe ich versucht:
%Vor%Die Ausgabedatei wurde sofort auf die Festplatte geschrieben - es wurden keine Fehler ausgegeben. Leider habe ich keine Möglichkeit das Ergebnis mit einem Flash Player zu verifizieren.
Tags und Links ffmpeg