Вопрос или проблема
У меня есть множество jpg изображений, которые я хочу превратить в видео. Я пробовал
JPGVideo, но это не сработало. Есть какие-либо рекомендации?
Вам нужен “стоп-кадровый” создатель: вот обзор таких программ и одна для загрузки: CellSoft Take5 1.30
Если вы используете Linux, там есть пакет “stopmotion”, который можно установить в один клик.
Я иногда использую ImagesToVideo (бесплатно):
Также есть Time-Lapse Tool ($50):
-
скачайте и запустите Portable Movie Maker
-
импортируйте изображения
-
перетащите изображения на монтажную панель
-
сохраните фильм … готово.
Версия 1:
cat ~/scripts/compile_movie.sh
#!/bin/sh
mencoder "mf://*.jpg" -fps $1 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1400 -ffourcc DIVX -vf scale=640:360 -o $2
использование: ./compile_move.sh 30 myFile.mp4
редактирование битрейта, кодека и т.д. довольно просто.
Версия 2:
cat ~/scripts/compile_pngs_to_flash_movie.sh
#!/bin/bash
#
# использование:
#./compile_pngs_to_flash_movie.sh my_funky_movie.flv
output_movie="$1"
mencoder mf://*.png -mf w=736:h=246:fps=20:type=png -of lavf -ffourcc FLV1 -ovc lavc - lavcopts vcodec=flv -o "${output_movie}"
Лучший инструмент, который я нашел для этого – dvd-slideshow. Он создает видео в формате mpeg2, совместимое с DVD, из множества изображений. Вы можете добавить музыку, если хотите. Поддерживает несколько эффектов, таких как исчезновение/появление/перекрытие/обрезка/кенбернс. Я использую его для создания DVD с семейными воспоминаниями.
Он легко работает на любом *nux, хотя я никогда не устанавливал его на Windows, поэтому не знаю, с какими проблемами вы можете столкнуться, если это ваша целевая ОС. Это bash-скрипт. На Windows, как минимум, вам нужно установить cygwin и оттуда продолжить.
Picasa 3 имеет функцию, которая делает именно это – по сути, она сохраняет слайд-шоу в сохраненный видеофайл – работает неплохо.
Если вы можете загрузить ffmpeg, вы можете сделать это довольно просто.
Сначала создайте список jpg файлов, которые вы хотите собрать в видео:
for /R %i in (*.jpg) do echo file '%i' >> filelist.txt && echo duration 0.034 >> filelist.txt
Как только у вас будет список, вы можете создать видео с помощью этой команды:
ffmpeg -f concat -safe 0 -i filelist.txt -vsync vfr -pix_fmt yuv420p -r 30 video.mp4
Некоторые ключевые моменты:
- В команде FOR /R ищет файлы jpg в подкаталогах. Если все файлы находятся в одной папке, вы можете убрать этот параметр.
- Длительность основана на 30 кадрах в секунду. Если вы хотите файл с большим или меньшим количеством кадров в секунду, просто разделите, чтобы определить длительность каждого изображения. Например, если вы хотите 25 кадров в секунду, длительность составит 0.04
- -safe 0 необходим, потому что иначе ffmpeg ведет себя странно при указании входного файла для соединения без полного пути.
- -r в последней команде определяет желаемую частоту кадров. Чем выше частота кадров, тем короче будет ваше видео.
Лучше, если все фотографии будут одного размера. Не уверен, как это сработает, если некоторые из них будут странного размера.
Надеюсь, это поможет.
Попробуйте Picasa или Microsoft Photo Story.
Ответ или решение
Конвертирование JPG изображений в видео может быть выполнено несколькими разными способами, в зависимости от ваших требований и предпочтений. Вот несколько методов, которые вы можете рассмотреть:
1. Использование программного обеспечения для создания слайд-шоу
-
Picasa 3: Это приложение позволяет создавать слайд-шоу и сохранять его в видеофайле. Просто добавьте нужные фотографии, выберите эффект перехода и сохраните как видео.
-
Microsoft Photo Story: Это бесплатная программа, которая также позволяет создавать слайд-шоу и экспортировать его в формате видео. Вы можете добавить музыку и текст для улучшения вашего видео.
2. Использование специализированных инструментов
-
dvd-slideshow: Этот инструмент позволяет создавать совместимое с DVD MPEG-2 видео из группы изображений. Вы также можете добавлять музыку и применять различные эффекты, такие как затухание и увеличение (эффект Кенбернса).
-
ImagesToVideo: Это бесплатный инструмент, который позволяет конвертировать изображения в видео. Процесс довольно прост и интуитивно понятен.
-
Time-Lapse Tool: Это платный инструмент (около 50 долларов), который также может помочь вам создать видео из изображений.
3. Использование командной строки (для более опытных пользователей)
Если у вас установлен FFmpeg, вы можете сделать это через командную строку:
-
Создайте текстовый файл со списком изображений, которые вы хотите объединить в видео:
for /R %i in (*.jpg) do echo file '%i' >> filelist.txt && echo duration 0.034 >> filelist.txt
- Примечание: Если все ваши файлы в одной папке, удалите
/R
из команды.
- Примечание: Если все ваши файлы в одной папке, удалите
-
Скомпилируйте видео с помощью следующей команды:
ffmpeg -f concat -safe 0 -i filelist.txt -vsync vfr -pix_fmt yuv420p -r 30 video.mp4
- Параметры:
-r
определяет частоту кадров (FPS). Например, для 25 кадров в секунду каждая картинка должна отображаться 0.04 секунды.-safe 0
необходим для корректной работы с файлами.
- Параметры:
4. Использование сценариев оболочки
Если вы знакомы с написанием скриптов, вы можете создать сценарий для конвертации изображений в видео, используя mencoder или другие утилиты. Например:
#!/bin/bash
mencoder "mf://*.jpg" -fps 30 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1400 -oac pcm -o output_video.avi
Заключение
Выбор метода зависит от ваших технических навыков и требований к видео. Если вам нужно простое решение, Picasa или Microsoft Photo Story могут быть лучшими вариантами. Если вы опытный пользователь, возможно, вам будет удобнее использовать FFmpeg или скрипты командной строки для большей гибкости. Надеюсь, это поможет вам успешно конвертировать ваши JPG изображения в видео!