Аудио поток короче видео потока - PullRequest
1 голос
/ 01 февраля 2012

Я генерирую кучу видео, зацикливая входы .PNG вместе со звуком .AMR.

ffmpeg -loop 1 -i slide001.png -i slide001.amr -vcodec rawvideo -acodec pcm_s16le -t 5 slide001.avi

Со временем я присоединяюсь к .AVI, используя Mencoder. У меня не было большого успеха, пытаясь присоединиться к ним с FFmpeg.

Похоже, что поскольку фактическая продолжительность .AMR короче, чем 5 секунд, которые я указал, например, когда придет время присоединиться к .AVI, аудиопоток будет не синхронизирован (впереди видео).

Я подозреваю, что мне нужно найти способ дополнить звук тишиной или как-то указать его длительность, чтобы аудио и видео потоки в моих .AVI были одинаковой длины перед присоединением к ним.

Есть идеи?

Спасибо.

1 Ответ

1 голос
/ 02 февраля 2012

В итоге я решил эту проблему, используя аудиопроцессор SoX в дополнение к ffmpeg: http://sox.sourceforge.net/Main/HomePage

Используемая мной команда:

sox slide001.wav slide001padded.wav pad 0 3

Выше добавлено 3 секунды тишиныконец аудио.Когда команда ffmpeg «-t 5» длительности применяется при создании видео, она обрезает дополнительное молчание, чтобы видео и аудио потоки были одинаковой длины.

Это работает, только когда аудио короче, чем видео,Вам необходимо добавить достаточное количество тишины, чтобы продолжительность звука была равна или превышала продолжительность видео.

...