-itsoffset
Вариант должен делать то, что вы хотите:
-смещение смещения (вход)
Установите смещение времени ввода.
смещение должно быть спецификацией продолжительности времени, см. (ffmpeg-utils) раздел «Продолжительность времени» в руководстве ffmpeg-utils (1) .
Смещение добавляется к временным меткам входных файлов. Указание положительного смещения означает, что соответствующие потоки задерживаются на время, указанное в смещении.
Так
$ ffmpeg -i video.h264 -itsoffset 1.0 -i voice.aac -map 0:a -map 1:v -c copy remuxed.mp4
должен дать аудио задержку в 1 секунду. Однако здесь могут возникнуть проблемы с контейнерами, поскольку ffmpeg
приходится все выяснять с нуля.
Что будет лучше, если вы сделаете это, используя оригинальный файл :
$ ffmpeg -i orig.mkv -itsoffset 1.0 -i orig.mkv -map 0:a -map 1:v -c copy remuxed.mkv
Это относится к задержке в 1 секунду ( для опции-itsoffset
) input 0
, а не к задержке input 1
. Параметры -map
указывают, чтобы получать (задержанное) аудио от input 0
и (не задержанное) видео от input 1
.
Надеюсь, это понятнее!
(Если вы хотите отложить видео, измените -map
параметры:
$ ffmpeg -i orig.mkv -itsoffset 1.0 -i orig.mkv -map 0:v -map 1:a -c copy remuxed.mkv
который указывает, что нужно взять отсроченное видео и непропущенное аудио)