Можно ли наложить изображение на каждый кадр видео, используя FFMPEG

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

Как я могу добиться этого, если это возможно?

С уважением, Рувим

2 ответа

Да, команда должна выглядеть примерно так:

ffmpeg -y 
  -i foo.mp4 -i foo.jpg -i bar.jpg [...put more pics here...]
  -filter_complex "
      [0:v][1:v] overlay=25:25:enable='between(t,0,1)' [tmp];
      [tmp][2:v] overlay=25:25:enable='between(t,1,2)' [tmp]
      ...continue the same way...
  " 
bar.mp4

Простой способ, если у вас есть упорядоченная последовательность изображений:

ffmpeg -i video.mp4 -pattern_type glob -framerate 1 -i "*.png" \
-filter_complex overlay output.mp4

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

Другие вопросы по тегам