Создание видео с использованием неподвижных изображений

Создание видео с использованием неподвижных изображений

Я использую avconvдля конвертации изображений в видео, но я столкнулся с некоторой проблемой. У меня есть тысячи изображений в каталоге, и они названы как video_clip_0_0_0_0_0_0_0_0_09_0_102.jpegи изображения не следуют какой-либо определенной последовательности, иногда добавляю 100 в последнее поле, а иногда 103 (но обязательно добавляю около 100). При использовании avconvкоманды:

  1. Мне нужно создать временный каталог.
  2. Скопируйте все изображения в этот каталог.
  3. convert temp/*.jpeg -delay 10 -morph 10 temp/%05d.jpg.
  4. avconv -f image2 -i temp/%05d.jpeg output.mkv

Все эти вещи занимают слишком много времени. Я не хотел делать все это и хотел сделать видео без создания временных каталогов, или переименования клипов и т. д. Для удобства и экономии времени.

решение1

Изображения должны быть в последовательном порядке для создания видео в avconv с изображениями. В противном случае произойдет сбой с сообщением об ошибке "IMG_%04d.JPG: Нет такого файла или каталога"

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

a=1
for i in *.JPG; do
  new=$(printf "%04d.JPG" ${a}) #04 pad to length of 4
  mv ${i} ${new}
  let a=a+1
done

После переименования файлов вы можете создавать видео. Вы также можете указать диапазон файлов изображений, откуда они могут быть взяты из создания видео с помощью "-начальный_номер"

Примечание: Вам понадобится последняя версия 9.x avconv для опции -start_number; ее нет в версии 0.8.x. В качестве альтернативы вы можете использовать последнюю версию ffmpeg. Или переименуйте файлы так, чтобы они начинались с числа от 0 до 4, так как по умолчанию будут проверяться именно эти имена.

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