2016-10-24 3 views
0

У меня есть 2 файла: 1 видеофайл (без звука) - длина 6 секунд, 1 аудио - длина 10 секунд. И аудио, и видео содержат тот же разговор, но звук начинается на 4 секунды раньше и после этого запускается видео.ffmpeg: смешивать аудио и видео разной длины

[----------] audio 
    [------] video 

Итак, я хочу, чтобы смешать их вместе, чтобы видео файл длиной 10 секунд, где первые 4 секунды черный экран со звуком, то идет реальное видео и аудио.

[====------] audio+video (where '=' is black screen) 

Надеюсь, мое описание было достаточно ясным). Как это сделать с помощью ffmpeg или gstreamer?

ответ

0

Скажем, разрешение видео является WxH и фреймрейт F, а разница в продолжительности составляет D секунд, то команда

ffmpeg -i video.mp4 -i audio.mp3 -f lavfi -i color=s=WxH:r=F -filter_complex 
      "[0]setpts=PTS-STARTPTS+D/TB[v];[2][v]overlay=eof_action=endall[vid]" 
     -map "[vid]" -map 1:a output.mp4 
+0

Благодаря Mulvya, что работает. – user3445678

+0

Но для этого требуется знание предпосылок - Ширина x Высота, Частота кадров и разность длин в секундах (. – user3445678

+0

Можно ли избежать ее спецификации или как-то вычислить ее автоматически? – user3445678

Смежные вопросы