Как создать синхронизированное видео из неподвижных изображений с определенным интервалом между каждым изображением?

Как создать синхронизированное видео из неподвижных изображений с определенным интервалом между каждым изображением?

Я хочу создать видео из неподвижных изображений. Мои изображения:

  • 1.jpg
  • 2.jpg
  • 3.jpg
  • 4.jpg
  • 5.jpg
  • 6.jpg
  • 7.jpg
  • 8.jpg
  • 9.jpg

Каждый из них я хочу показывать в течение определенной продолжительности, от 1 до 10 секунд:

  • 1.jpg: 2 секунды
  • 2.jpg: 6 секунд
  • 3.jpg: 10 секунд
  • 4.jpg: 1 секунда

и т. д.

Между изображениями я хочу постепенно затухать старое изображение и появляться новое.

У меня такое чувство, что все это можно сделать с помощью convertи ffmpeg. Однако проблема в том, что между каждым изображением разная длительность.Эта страницаОчень помогает, но я не могу понять, как рассчитать время между изображениями. Есть идеи?

решение1

Если все .jpg объединенные файлы можно точно отобразить в 256 цветах из 16 млн цветового пространства, то вы сможете преобразовать их в кадры анимированного GIF-файла, что позволит вам указывать задержки для каждого кадра с точностью до сотых долей секунды.

Затем вы можете использовать convert(из imagemagickпакета) для выполнения преобразования:

convert -delay 200 1.jpg -delay 600 2.jpg -delay 1000 3.jpg -delay 100 4.jpg \
    .....  result.gif

(замените точки дополнительными -delay N.jpgпарами " ").

Связанный контент