ffmpeg перекомпилирует видео и голос

334
makgun

Я использую Ubuntu Vivid на своем ноутбуке, и я хочу перекомпилировать аудио и голос с задержкой звука. По сравнению с аудио фильм опоздал. Я демультиплексировал voice.aac и video.h264 из оригинального видео. Я знаю, что это возможно через редактирование aac, но этот файл не нуждается в каком-либо моде для aac. Просто хочу задержать звук.

0

1 ответ на вопрос

1
bertieb

-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 

который указывает, что нужно взять отсроченное видео и непропущенное аудио)

Человек это то, что мне нужно. Я попробую, когда пойду домой makgun 9 лет назад 0
Надеюсь, что это работает - я не проверял. Возможно, вам придется перекодировать, а не мультиплексировать, но, надеюсь, нет! bertieb 9 лет назад 0
@makgun Я обновил ответ с помощью лучшего и проверенного варианта, при условии, что у вас все еще есть оригинальный файл :) bertieb 9 лет назад 0
Спасибо, это полезнее, чем мне нужно (по крайней мере, я так думаю). И карта 0: означает, что аудио задерживается на 0 секунд? А карта 2: v означает, что видео задерживается на 2 секунды? makgun 9 лет назад 0
@makgun Задержка указывается как опция * -itsoffset *, 1,0 для 1 секунды, 0,125 для и 8-й секунды и т. д. Я обновил ответ, чтобы прояснить это. bertieb 9 лет назад 1
@bertleb спасибо за полезный ответ Я тоже это узнал. Теперь я могу смотреть его без использования специального видеоплеера. makgun 9 лет назад 1
@bertleb Знаете ли вы, как можно повернуть видео на x градусов (по часовой стрелке)? Я попробовал ffmpeg -i in.mp4 -vf "transpose = 1" out.mp4. Но эта опция очень медленная. И затем я добавил -c copy как ffmpeg -i in.mp4 -cc copy -vf "transpose = 1" out.mp4. Но опять же это так медленно. Я думаю, что это перекодировать это. Есть ли возможность сделать это быстро? makgun 9 лет назад 0
Рад, что вы получили ответ на работу :) Помните, что вы можете пометить ответ как принятый, щелкнув по серой галочке - без давления! О вращении лучше задать это отдельным вопросом, чтобы избежать расширенного обсуждения в комментариях :) bertieb 9 лет назад 1

Похожие вопросы