FFmpeg concat video-und audio out of sync

Verbinden mehrerer Dateien mit ffmpeg concat scheint es zu einem Missverhältnis des timestamps oder offsets für die audio. Ich habe versucht, mit mehreren videos und bemerkt das gleiche problem, bei h.264 /MP4.

Mit concat und Codierung das video scheint gut zu funktionieren. Das audio bleibt synchron wie ffmpeg hat die vollständige Umwandlung Berechnungen und scheint immer alles richtig machen.

Jedoch, einfach in der Verknüpfung der videos, ohne transformation oder Codierung Ergebnisse in einer langsam steigenden sync-Problem. Natürlich, die Codierung des videos, anstatt sich einfach dazu gesellt sich in einem Verlust von Informationen/Qualität also ich würde lieber einen Weg finden, um dieses problem.

Habe ich versucht, mehrere flags zu Sortieren, das problem, dass angezeigt wird, werden basierend auf dem Zeitstempel. Keine von diesen scheinen, um das problem zu beheben obwohl.

ffmpeg -f concat -fflags +genpts -async 1 -i segments.txt test.mov
ffmpeg -auto_convert 1 -f concat -fflags +genpts -async 1 -i segments.txt -c copy test2.mov
ffmpeg -f concat -i segments.txt -c copy -fflags +genpts test3.mp4
ffmpeg -f concat -fflags +genpts -async 1 -i segments.txt -copyts test4.mov
ffmpeg -f concat -i segments.txt -copyts test5.mov
ffmpeg -f concat -i segments.txt -copyts -c copy test6.mov
ffmpeg -f concat -fflags +genpts -i segments.txt -copyts -c copy test7.mov

Hinweis: alle anderen Fragen, die ich finden konnte SO scheinen, zu "reparieren" das problem, indem Sie einfach die Codierung des videos wieder. Nicht eine gute Lösung.

Update

Erkannte ich die concat war nicht das problem. Der ursprüngliche Satz von clips, die Sie hatte, mis-matched Zeitstempel. Irgendwie concat + Codierung das Problem behoben wurde, aber ich will nicht zu re-encodieren des-videos und-lose Qualität jedes mal.

ffmpeg -y -ss 00:00:02.750 -i input.MOV -c copy -t 00:00:05.880 output.MOV

Führte im Ergebnis zu den folgenden Daten

ffprobe -v quiet -show_entries stream=start_time,duration output.MOV

start_time=-0.247500
duration=6.131125
start_time=-0.257333
duration=6.155333

Da habe ich dann versucht zu nutzen -tom und -t in verschiedenen Orten entlang mit -af apad -c:v copy und ich habe noch immer nicht die Dauer das gleiche zu sein.

Hier ist die vollständige Ausgabe von ffprobe

Hier ist das original (rot) vs the segment (grün)

Detaillierte Sample-Dateien

Zeichnete ich ein Beispiel-video, Hinzugefügt die Befehle zu hacken, dann concat es. http://davidpennington.me/share/audio_sync_test_video.zip

InformationsquelleAutor Xeoncross | 2016-02-15
Schreibe einen Kommentar