Die -itsoffset
Option sollte das tun, was Sie möchten:
-soffset Offset (Eingabe)
Stellen Sie den Offset für die Eingangszeit ein.
Versatz muss eine Zeitdauerangabe sein, siehe (ffmpeg-utils) im Abschnitt Zeitdauer im Handbuch von ffmpeg-utils (1) .
Der Versatz wird zu den Zeitstempeln der Eingabedateien addiert. Die Angabe eines positiven Versatzes bedeutet, dass die entsprechenden Ströme um die im Versatz angegebene Zeitdauer verzögert werden.
So
$ ffmpeg -i video.h264 -itsoffset 1.0 -i voice.aac -map 0:a -map 1:v -c copy remuxed.mp4
sollte eine Audio-Verzögerung von 1 Sekunde ergeben. Hier können jedoch Probleme mit dem Container auftreten, da ffmpeg
alles von Grund auf neu berechnet werden muss.
Besser ist es, wenn Sie die Originaldatei verwenden :
$ ffmpeg -i orig.mkv -itsoffset 1.0 -i orig.mkv -map 0:a -map 1:v -c copy remuxed.mkv
Dies gilt für eine Verzögerung von 1 Sekunde ( pro Option bis-itsoffset
) input 0
und keine Verzögerung für input 1
. Die -map
Optionen legen fest, dass das (verzögerte) Audio von input 0
und das (nicht verzögerte) Video abgerufen wird input 1
.
Hoffe das ist klarer!
(Wenn Sie das Video stattdessen verzögern möchten, ändern Sie die -map
Optionen:
$ ffmpeg -i orig.mkv -itsoffset 1.0 -i orig.mkv -map 0:v -map 1:a -c copy remuxed.mkv
die spezifiziert, um das verzögerte Video und das nicht verzögerte Audio aufzunehmen)