Я использую Ubuntu Vivid на своем ноутбуке, и я хочу перекомпилировать аудио и голос с задержкой звука. По сравнению с аудио фильм опоздал. Я демультиплексировал voice.aac и video.h264 из оригинального видео. Я знаю, что это возможно через редактирование aac, но этот файл не нуждается в каком-либо моде для aac. Просто хочу задержать звук.
1 ответ
Опция -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
который указывает, что нужно взять отсроченное видео и непропущенное аудио)