Я хочу создать timelapse из коллекции картинок под Ubuntu. Я хотел бы сделать HD-видео, и в идеале добавить саундтрек.
Я хочу создать timelapse из коллекции картинок под Ubuntu. Я хотел бы сделать HD-видео, и в идеале добавить саундтрек.
Ответы:
Ffmpeg сделает это. Если у вас есть изображения, img001.jpg, img002.jpg, img003.jpg, ...
то в командной строке выполните:
ffmpeg -i img*.jpg output.mpeg
Есть и другие варианты на ffmpeg --help
страницах руководства или в Интернете. Они позволяют контролировать частоту кадров и формат вывода.
.jpg
файлы как выходной файл. Я получаю File 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
- не так здорово. Мое решение было создать список файлов с \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
и затем загрузить его с ffmpeg -f concat -i files.txt output.mpeg
.
ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Сначала мы переименовываем все файлы * .JPG в зависимости от даты их создания. Иногда камеры меняют имя файла или просто упорядочивают их, что-то не то, что мы хотим. Однако переименование их по дате создания всегда работает:
jhead -n%Y%m%d-%H%M%S *.JPG
После этого мы помещаем этот список в файл:
ls -1tr | grep -v files.txt > files.txt
А затем используйте mencoder
для создания AVI
видео, используя 20 кадров в секунду. Обратите внимание, что это приведет к созданию огромного видеофайла, обычно такого же размера, как и все суммы изображений.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'
Обычно я делаю снимки с замедленной съемкой с самым низким разрешением моей камеры (5 Мп), которое имеет соотношение сторон 4: 3. Для создания правильного видео 1080p изображение сначала масштабируется до ширины 1920 пикселей, а затем я обрезаю его до 1080 высоты. Таким образом, я не изменяю содержание фотографий, а просто обрезаю:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Причина, по которой я использую mencoder для объединения фотографий, заключается в том, что я получил segmentation fault
с ffmpeg.
ffmpeg
команде -sameq
опция теперь заменена на-qscale 0
Blender - это хорошее решение, если вы имеете дело с замедленной съемкой (hyperlapse) или нестабильными кадрами. Он имеет функции отслеживания движения, так что вы можете выбрать фиксированную точку для отслеживания в течение промежутка времени. Вы также можете исправить проблемы с вращением.
Вас также может заинтересовать проект timelapse-darktable . Это облегчает постобработку изображений с darktable и делает интервал съемки серии. Инструкции по его использованию можно найти здесь: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse.
Вы можете использовать mencoder. Варианты вполне эксплицитны:
Если они все находятся в каталоге curent с упорядоченными именами и вам нужен список в файле /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
Если вы хотите, чтобы выходной файл был /tmp/test.avi с 30fps:
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Kdenlive также может генерировать интервалы, используя Add Slideshow Clip
меню, как объяснено в этом руководстве .
Согласно тому же сайту , Openshot имеет аналогичную функциональность, но не рекомендует его, потому что он «слишком глючит». Тем не менее, если вы предпочитаете видеоредактор, вам будет приятно узнать, что вы можете просто перетащить последовательность файлов с правильными именами (001.jpg to NNN.jpg) в окно Openshot, чтобы импортировать их также в качестве интервальной съемки.