FFMpeg Konvertieren, AVI zu MP4 - Audio - / Video Out of Sync
Ich habe eine Anwendung, die ermöglicht Benutzern das aufzeichnen, Videos von Ihren webcams senden. Der Benutzer-Datensatz 3 clips zusammen in einem video für die Wiedergabe.
Ich habe Probleme mit der audio-und video-on-dem Dritten clip manchmal wird out-of-sync nach dem konvertieren zu MP4.
Hier ist, wie der Prozess funktioniert jetzt-
Kombinieren Sie AVI-video-Dateien und fügen übergang von videos in zwischen der Verwendung von Mencoder zu verbinden avi-Dateien.
mencoder.exe -oac copy -ovc copy -idx -o test.avi c:\temp\*.avi
Bekomme ich diesen Fehler:
Muxer frame buffer cannot allocate memory!
1 duplicate frame(s)!
1 duplicate frame(s)!
1 duplicate frame(s)!
1 duplicate frame(s)!
1 duplicate frame(s)!
1 duplicate frame(s)!
Aber das video ist kombiniert, um das avi-und das AVI-Wiedergabe ohne audio-sync-Probleme.
Reindex mencoder
mencoder.exe -idx TEST.AVI
Das video spielt immer noch fein an diesem Punkt als AVI.
Konvertieren der AVI zu MP4 mit ffmpeg batch-Datei:
set FFMPEG_DATADIR=c:\Presets
ffmpeg.exe -i "test.avi" -s 640x480 -y -strict experimental -acodec aac \
-ab 128k -ac 2 -ar 48000 -vcodec libx264 -vpre medium -vpre ipod640 -r 24 \
-g 48 -b 520000 -threads 64 "out.mp4"
Dies alles programmgesteuert ausgeführt werden (keine video-editing-software mit grafischer Benutzeroberfläche) mithilfe von Befehlszeilen-tools in Windows.
Hier sind Beispiel-avi-und mp4-Dateien. Die audio - /video-sync-was um die 1:03 mark. AVI nicht mehr synchron, während die mp4 nicht.
http://trtemp.s3.amazonaws.com/new.avi
http://trtemp.s3.amazonaws.com/new.mp4
Hat jemand irgendwelche Vorschläge, um dies zu beheben?
InformationsquelleAutor Brian | 2011-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein paar Dinge:
-strict experimental
wechseln. Da Sie mit audio-sync-Probleme, ist dies eine offensichtliche Kandidaten-problem. Erwägen Sie die Verwendung libfaac, wenn verfügbar. (Sie können bauen Ihre eigenen FFmpeg kompilieren.)-threads 64
ist nicht zu machen, dass es schneller geht, egal wie viele Kerne Sie haben. Folgen Sie den allgemein akzeptierten Konvention von # cores * 3 /2. Also, wenn Sie haben 4 Kerne, der mast ist4 * 3 /2 = 6
. Meine eigenen Experimente mit der-threads
zeigt abnehmende Rentabilität mit jedem thread über 4-6 die Nullen aus (keine profitieren auch immer) über 12-16 threads. Am besten mit 64 threads werden nicht ohne Auswirkungen. Im schlimmsten Fall wird es langsamer sein, oder die Verschlechterung der Qualität Ihres Ergebnisses.-copyts
option. "Kopieren Zeitstempel vom Eingang bis zum Ausgang."-async
wechseln.InformationsquelleAutor Stu Thompson