Как я могу объединить 30 000 изображений в фильм с интервальной съемкой?


69

Я сделал 30 000 фотографий, которые хочу объединить в замедленную съемку. Я пробовал QuickTime Pro, TimeLapse 3 и Windows Movie Maker, но с таким огромным количеством изображений каждая из программ перестала работать (я пробовал SUPER ©, но тоже не смог заставить его работать ...?). Кажется, что все эти программы вылетают после нескольких тысяч картинок.

Все изображения у меня в формате .JPG, с разрешением 1280x800, и я ищу программу, которая может поместить эти изображения в фильм с замедленной съемкой в ​​каком-то формате без потерь (сырой / несжатый AVI будет хорошо) для дальнейшее редактирование. У кого-нибудь есть идеи или кто-нибудь пробовал что-то подобное с таким же количеством картинок?


Вы пробовали что-то вроде Adobe Premiere или Final Cut Pro?
Махмуд Хоссам

Вы пытались использовать видео кодек без потерь, как HuffYUV?
Hydaral

JPEG с потерями, поэтому вы уже потеряли качество, вы не можете вернуть его.
Ctrl-Alt-Delor

Ответы:


54

Avidemux может создавать фильмы из множества изображений. http://fixounet.free.fr/avidemux/

Вы также можете использовать mencoder, но его немного сложнее использовать со всеми параметрами командной строки и всеми остальными. Я использовал это:

mencoder mf://*.jpg -mf fps=xxx:type=jpg -ovc x264 -x264encopts bitrate=yyyy:threads=2 -o outputfile.mkv

я использую

xxx = 25 and 
yyy = 1200

который производит видео, которые просто отлично. Добавьте мелодии в фильм, вставив:

-oac copy -audiofile audiofile.mp3

2
Avidemux ROCKS! Быстрая вставка 33.000 изображений. Быстрое сохранение в несжатый AVI - и он автоматически разделяется на 4 ГБ AVI-фрагменты. Но все они играбельны!
Свифт

2
+1 за Avidemux, я сделал тонны редактирования видео с помощью MeGUI, и даже не знал, что такая хорошая альтернатива существует!
Прорыв

2
Mencoder выводит AVI независимо от имени выходного файла. Есть варианты вывода других форматов, но код не работает хорошо. Рекомендуемый способ - вывести h.264-in-avi, а затем remux. Просто используйте вместо этого ffmpeg. (см. ответ Шенала Сильвы)
Питер Кордес

Mencoder менее поддерживается / доступен, чем это было в 2011 году. Эквивалент в MPV:mpv mf://*.jpg --mf-fps=25 --ovc libx264 --ovcopts=bitrate=1200:threads=2 -o outputfile.mkv
Сэм Брайтман

Avidemux возвращает только в VLC с жалобой: «VLC не поддерживает аудио или видео формат« PNG ». К сожалению, у вас нет способа это исправить».
Vallentin

39

Используйте FFmpeg .

Это создаст слайд-шоу видео (с использованием видеокодека libx264) из серии изображений PNG с именами img001.png, img002.png, img003.png,…

Каждое изображение будет иметь продолжительность 5 секунд, измените переменную в соответствии с вашим выбором.

ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4

Если ваши изображения имеют четыре цифры, используйте %04dи т. Д. Если у ваших изображений нет этого шаблона, вы можете использовать оболочки-оболочки, по крайней мере, в Linux и OS X:

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' …

Вы также можете изменить выходную частоту кадров, указав другую -rпосле ввода.


8
Просто предупреждение: не думайте, что вы можете обойти синтаксис ffmpeg printf, а просто используйте * .jpg или что-то еще для более сложных шаблонов. Это фактически перезапишет каждый из ваших файлов изображений с первым! Я попробовал это сам.
Кристиан

Я тоже боролся с этим. Оказывается, вы можете сделать это, но нужно установить флаг стиля glob. ffmpeg -pattern_type glob -i 'time-lapse-files / *. JPG' time-lapse.mp4
arno_v

2
Вы можете использовать -framerateдля формата ввода image2. Я бы рекомендовал не устанавливать выходной fps, отличный от входного fps, если только вы не хотите, чтобы ffmpeg отбрасывал или дублировал кадры. (если только вывод в контейнер типа mkv, где ffmpeg поддерживает переменную частоту кадров.) Да, только что протестировал, и вы получите дополнительные дублирующие кадры, передаваемые через x264, поэтому просто установите FPS ввода, но поставьте -rили -framerateДО-i .../stuff
Peter Cordes

2
Я также рекомендовал бы ffmpeg. Я писал об этом здесь (более подробно о подготовке и аргументах): dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg
dSebastien

cat *.jpg | ffmpeg -framerate 60 -f image2pipe -i - ~/output.mp4Вот альтернатива, если у вас нет в -pattern_type globналичии
vearutop

12

Если вы сделаете некоторые базовые вычисления, вы увидите, что вам, вероятно, не хватает памяти, если вы пытаетесь сохранить фильм без сжатия.

Каждый кадр - 1 024 000 пикселей. При 32 битах на пиксель это 32 768 000 бит (4 096 000 байтов или 3,9 МБ ).

Если мы умножим это на 30000 кадров, вам потребуется 117187,5 МБ ( 114,45 ГБ ) памяти, чтобы сохранить весь фильм в памяти за один раз - неудивительно, что QuickTime Pro не работает.

Вы можете попытаться уменьшить разрешение, но это все равно может не сработать.

Вам нужно будет собрать фильм небольшими порциями, а затем соединить все вместе. Я ожидаю, что есть приложения, которые делают это без загрузки всего фильма в память. Окончательный фильм также должен быть сжат - опять же, поскольку он занимал бы 114 ГБ на жестком диске. В конце концов, фильм занимает только один DVD-диск, а продолжительность фильма - 20 минут (25 кадров в секунду).


3
AFAIK, в мире нет программы для редактирования видео, которая бы сохраняла любой несжатый клип полностью в памяти перед анализом / сохранением.
Прорыв

@Breakthrough ~ Но как вы скомпонуете его в сжатый клип?
Jcolebrand

@ Прорыв - это, вероятно, правда, но ОП хочет фильм без сжатия.
ChrisF

2
@ddrachenstern и @ChrisF - существует разница между немедленным хранением и долгосрочным хранением. Нет программы для редактирования видео, которая хранит всю длину несжатых видеоданных в памяти. Даже когда вы прокручиваете предварительный просмотр, он воссоздает данные из того, что он сохранил на жестком диске из различных источников мультимедиа (и, возможно, немного больше для кэширования). Кроме того, когда вы, наконец, «визуализируете» проект, вы получите полный вывод видео (обычно в виде потока). Полный выходной видеосигнал может быть сохранен как есть (например, без сжатия / RAW) или передан в кодировщик.
Прорыв

1
Извините, когда я сделал свой первый комментарий, я просто хотел указать, что проблема не в нехватке памяти. Я также имел в виду, что, хотя программа может хранить некоторые несжатые видеоданные в памяти (например, для предварительного просмотра), она никогда не сохраняет весь видеопоток (опять же, из-за проблем, которые вы выявили в своем ответе). Именно так создаются эти программы, поэтому это не должно быть проблемой. Извините за любые неверные интерпретации!
Прорыв

11

Да, я знаю, что этой теме больше года. Я использую это более 2 лет, и он прекрасно работает с более чем 10000 изображений:

1080p при 24 кадрах в секунду, без звука

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=24 mf://@files.txt -vf scale=1920:1080

4k @ 90fps, без звука

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=90 mf://@files.txt -vf scale=3840:2160

Мне пришлось много возиться с кодеком, прежде чем я получу что-то, что распознает youtube. Образец с использованием 2-го блока можно найти здесь: http://www.youtube.com/watch?v=4G_aaPG2QWk


11

Попробуйте PhotoLapse ; обзор этого дан на Lifehacker.com здесь .

введите описание изображения здесь


1
Вот видео , показывающее этот инструмент в действии: vimeo.com/1226517
Darokthar

У меня была опечатка. Я уже попробовал Photolapse, но он терпит неудачу в процессе рендеринга. Если я уменьшу до 10.000 изображений, это завершит AVI-файл - но файл бесполезен и не может быть воспроизведен.
Свифт

@ Свифт Я понимаю, вам нужны файлы в оригинальном размере. Я всегда собирал изображения с пониженной дискретизацией, используя Irfanview, до создания timelapse avi. Надеюсь, вы найдете решение, которое вам нужно!
Джелтон

Ссылка на Photolapse показывает определенные признаки суровой смертности.
Тимоти Ли Рассел

@Timothy Обновленная ссылка.
Джелтон

8

Я использую Google Picasa. Это также очень хороший органайзер фотографий на мой взгляд. Вот как.

1) Файл> Добавить папку в Picasa ...> добавить папку с фотографиями.

2) Щелкните правой кнопкой мыши на добавленной папке в левом меню «Папки» и> выберите все изображения

3) В верхнем меню> Создать> Видео> Из выделения ...

4) Теперь вы находитесь в создателе видео> вкладка «Видео»> «Стиль перехода»> «Промежуток времени»

5) Вы можете загрузить звуковую дорожку, изменить размеры (я обычно использую 1024x768), добавить слайды с текстом в вкладке слайдов ...

6) Video Maker> вкладка «Видео»> «Создать видео». Вы можете войти в свой аккаунт Google и загрузить его на YouTube здесь.

Вернувшись в библиотеку, вы можете щелкнуть правой кнопкой мыши видео> найти на диске, чтобы увидеть, где видео было сохранено. Еще одна хорошая особенность использования Picasa - вы можете выбрать все изображения и перейти в верхнее меню «Изображение»> «Пакетное редактирование»> «Мне повезет». Это исправит контраст и цвет всех фотографий одновременно.

Перед созданием видео вы можете добавить движение к промежутку времени с помощью http://motiontimelapser.co.nr/ Disclamer: я - автор.


Это сработало для меня примерно с 2500 снимками, снятыми с помощью GoPro в режиме серийной съемки. Если вы уже используете Picasa, проверьте это решение.
Lonstar

Picasa была отправлена ​​на пастбище.
Тимоти Ли Рассел

5

Я столкнулся с подобной проблемой некоторое время назад, когда пытался сделать временную паузу для создания чего-то в местном хакерском пространстве. Я запускаю OS X, так что я не уверен, насколько целесообразно использовать это в Windows, но я использовал MEncoder.

Это команда, которую я использовал в терминале:

mencoder mf://*.jpg -mf w=800:h=600:fps=5:type=jpg -ovc copy -oac copy -o buildmadison.avi

Есть две проблемы с этим:

  1. Это AVI.
  2. Все, что он делает, это объединяет изображения в один файл без сжатия. Конечно, это быстро, как черт, и это на самом деле работает!

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

MEncoder является частью проекта MPlayer, расположенного здесь: http://www.mplayerhq.hu/


4

Я вижу, что эта ветка довольно старая, но я обнаружил, что MakeAVI - лучшая программа для меня!

Вы можете скачать его здесь: http://sourceforge.net/projects/makeavi/?source=dlp

  • Все, что вам нужно сделать, это загрузить его и запустить исполняемый файл внутри загруженной папки (без установщика).
  • Затем, чтобы добавить картинки, вы просто нажимаете кнопку «Добавить файлы» в верхнем правом углу и выбираете картинки, которые хотите скомпилировать.
  • После того, как они были импортированы, вы можете использовать «Вверх» и «Вниз» в средней левой части, чтобы отрегулировать порядок изображений в случае, если они не остались в порядке.
  • Затем, чтобы отрегулировать частоту кадров скомпилированных изображений, вы можете изменить текстовое поле внутри рамки «Частота кадров при воспроизведении», в нижней правой части, на желаемую частоту кадров.
  • Поскольку программа все еще находится в бета-версии (0.1.1), некоторые вещи не работают. Нажмите кнопку «Начать» и укажите желаемое имя файла. Когда он спросит, какой тип сжатия вы хотите, выберите тот, который вы хотите, за исключением «Full Frames (Uncompressed)», который у меня не работал.
  • Затем, когда закончите компиляцию видео, идите и посмотрите видео и посмотрите, как оно есть. Если видео пустое (без длины), попробуйте изменить параметры сжатия. (Это то, что произошло, когда я попробовал «Полные кадры (без сжатия)»

Я не мог заставить работать ни один из перечисленных здесь методов, и этот работал для меня! Надеюсь, это работает для вас! :)


3

Вы пробовали VirtualDub ?

Когда вы открываете образ в virtualdub, он попросит загрузить всю последовательность. Оттуда - отрегулируйте частоту кадров, добавьте несколько фильтров (обрезать, повысить резкость), выбрать кодировщик и сохранить видео.

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

Изменить: Вот простой учебник по этому вопросу. Все, что вам нужно сделать, это найти подходящий кодек без потерь, как этот: MSU Lossless Video Codec .


2

Мы протестировали наше программное обеспечение Time-Lapse Tool для создания видео из 100k изображений, и оно работает как шарм. Все эти изображения могут быть добавлены из нескольких папок, что полезно для фотографий из DSLR, сгруппированных по 10 тыс. Изображений в папке.


2

Если вы используете Premiere Pro, просто поместите изображения в отдельную папку, убедитесь, что они пронумерованы последовательно и последовательно, а затем в Premiere Pro щелкните правой кнопкой мыши окно проекта и выберите «Импорт», выберите первое изображение и установите флажок «Последовательность изображений». Он автоматически вытянет все изображения в виде последовательности, называемой thefirstimageName.jpg, но со значком изображения в стеке. Вот и все. Перетащите его в последовательность, затем отобразите его (Экспорт -> Мультимедиа) как 1080p, а затем импортируйте экспорт как новый видеоклип. Я рекомендую экспортировать его и повторно импортировать как клип, поскольку известно, что Premiere Pro и Media Encoder могут вызывать сбои с отснятым материалом высокого разрешения, если вы повозитесь с сокращениями и изменениями скорости, поэтому экспортируйте отснятый материал высокого разрешения в 1080p, в то же время компрометируя качество, восстанавливает стабильность.


1

Просто для забавы, вот еще один способ (нет, я явно НЕ пытаюсь уточнить свой собственный процесс.) Оказывается, в Windows ничего не хочет редактировать вывод, который mencoder производит из моего другого ответа. Это более удобная для редактирования версия с использованием ffmpeg:

1080p@90fps, no sound, IMG_00000.JPG - IMG_99999.JPG
    ffmpeg -r 90 -i IMG_%05d.JPG -vcodec libx264 -vpre medium -crf 22 -threads 0 -vf scale=1920:-1 -r 15 -metadata title="foo"

0

Я должен был сделать что-то подобное раньше. Мне удалось сделать это в QuickTime Pro, сделав это 500 кадров за раз. Я хотел бы сохранить их как отдельный фильм, а затем перейти к следующему. Потом я бы объединил все 500 сегментов кадра в финальную вещь.


Вид грабежа для "профессионального" программного обеспечения!
Свифт

0

Я также проголосовал бы за Virtualdub (фактически сделал эту операцию, не могу вспомнить, если бы их было много). Позже также легко удалить ненужные кадры и т. Д. Возможно, вы можете попробовать использовать видеоформат без потерь для рендеринга и сохранения, например, кодека camstudio . Временная задержка ... может быть, это тоже хорошо, кодек TechSmith (TSCC), но это работает, только если вы приобрели (или получили старую версию из журнала) Camtasia, так как он устанавливает версию кодирования кодека. Это делает действительно маленькие видео. И, вероятно, является уместным на промежуток времени.


0

Другая программа, которую вы можете использовать - Time Lapse MovieMonkey

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

Автор говорит, что это было проверено с 50 000 фотографий.


Ссылка умерла.
Тимоти Ли Рассел

0

Я получаю действительно хорошие результаты от использования Picasa или GoPro-studio .

Я занят с видео, чтобы записать, как я строю доску для серфинга, используя эти инструменты. Незавершенная работа была опубликована в моем профиле на YouTube (поиск "Surfbordbou" - мне не разрешено более двух ссылок на пост)

Создатель фильмов в Picasa действительно прост в использовании, он состоит из двух щелчков мышью, и вы получаете интервал набора выбранных снимков.


Добро пожаловать на сайт. Когда вы говорите, что получаете хорошие результаты, это выполнение той же задачи и работа с количеством изображений на порядок, как в вопросе? Это ключевой момент, и вы должны обсудить это в своем ответе. Если ответ «да», опишите его, и вы получите победный ответ. Если это не так, это полезная информация, но не лучший ответ на этот вопрос. В этом случае удалите этот ответ, задайте новый вопрос о выполнении вашей задачи, а затем ответьте на свой вопрос с помощью своего решения. Это было бы еще одной выигрышной комбинацией.
fixer1234
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.