
Я хочу создать видео из неподвижных изображений. Мои изображения:
- 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
парами " ").