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

165669
Swift

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

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

62
Вы пробовали что-то вроде Adobe Premiere или Final Cut Pro? Mahmoud Hossam 13 лет назад 0
Вы пытались использовать видео кодек без потерь, как HuffYUV? Hydaral 13 лет назад 0
JPEG с потерями, поэтому вы уже потеряли качество, вы не можете вернуть его. ctrl-alt-delor 8 лет назад 0

16 ответов на вопрос

50
klokop

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 
Avidemux ROCKS! Quick insert of 33.000 images. Quick save to uncompressed AVI - and it gets automaticly split into 4GB AVI chunks. But all of them are playable! Swift 13 лет назад 2
+1 для Avidemux, я сделал тонны редактирования видео, используя MeGUI, и даже не знал, что такая хорошая альтернатива существует! Breakthrough 13 лет назад 2
Mencoder выводит AVI независимо от имени выходного файла. Есть варианты вывода других форматов, но код не работает хорошо. Рекомендуемый способ - вывести h.264-in-avi, а затем remux. Просто используйте вместо этого ffmpeg. (см. ответ Шенала Сильвы) Peter Cordes 9 лет назад 2
Mencoder менее поддерживается / доступен, чем это было в 2011 году. Эквивалент в MPV: `mpv mf: //*.jpg --mf-fps = 25 --ovc libx264 --ovcopts = bitrate = 1200: threads = 2 -o outputfile.mkv` Sam Brightman 8 лет назад 0
Avidemux возвращает только в VLC с жалобой «VLC не поддерживает аудио или видео формат« PNG ». К сожалению, у вас нет способа это исправить». Vallentin 8 лет назад 0
Извините, @Vallentin, не могу помочь вам там. klokop 8 лет назад 0
35
Shenal Silva

Используйте 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после ввода.

Просто предупреждение: не думайте, что вы можете обойти синтаксис printf в ffmpeg, а просто используйте * .jpg или что-то еще для более сложных шаблонов. Это фактически перезапишет каждый из ваших файлов изображений с первым! Я попробовал это сам. Christian 11 лет назад 8
Я тоже боролся с этим. Оказывается, вы можете сделать это, но нужно установить флаг стиля глобуса. ffmpeg -pattern_type glob -i 'time-lapse-files / *. JPG' time-lapse.mp4 arno_v 10 лет назад 0
Вы можете использовать `-framerate` для формата ввода image2. Я бы рекомендовал не устанавливать выходной fps, отличный от входного fps, если только вы не хотите, чтобы ffmpeg отбрасывал или дублировал кадры. (если не выводить в контейнер, такой как mkv, где ffmpeg поддерживает переменную частоту кадров.) Да, только что протестировали, и вы получите дополнительные дублирующие кадры, передаваемые через x264, так что просто установите FPS ввода, но поставив `-r` или` - framerate` ДО `-i ... / stuff` Peter Cordes 9 лет назад 2
Я бы также порекомендовал ffmpeg. Я писал об этом здесь (более подробно о подготовке и аргументах): http://www.dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg/ dSebastien 9 лет назад 2
`кошка * .jpg | ffmpeg -framerate 60 -f image2pipe -i - ~ / output.mp4` здесь есть альтернатива, если у вас нет `-pattern_type glob` vearutop 7 лет назад 0
Насколько я могу судить, в FFmpeg есть некоторые ошибки в коде синтаксического анализа для подстановочных знаков, но я выполняю несколько довольно значительных манипуляций с именами файлов с моей стороны (пришлось выяснить, как заставить Powershell генерировать счетчик в конвейере отсортированного списка по времени и дате - psst. ответ - переменная уровня сценария.) Timothy Lee Russell 6 лет назад 0
12
ChrisF

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

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

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

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

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

AFAIK, в мире не существует программы для редактирования видео, которая хранит * любой * несжатый клип полностью в памяти перед анализом / сохранением. Breakthrough 13 лет назад 3
@Breakthrough ~ Но как вы скомпонуете его в сжатый клип? jcolebrand 13 лет назад 0
@ Прорыв - это, вероятно, правда, но ОП хочет получить несжатый фильм. ChrisF 13 лет назад 0
@ddrachenstern и @ChrisF - существует разница между немедленным хранением и долгосрочным хранением. Нет программы для редактирования видео, которая хранит всю длину несжатых видеоданных в памяти. Даже когда вы прокручиваете предварительный просмотр, он воссоздает данные из того, что он сохранил на жестком диске из различных источников мультимедиа (и, возможно, немного больше для кэширования). Кроме того, когда вы, наконец, «визуализируете» проект, вы получите полный вывод видео (обычно в виде потока). Полный выходной видеосигнал может быть сохранен как есть (например, без сжатия / RAW) или передан в кодировщик. Breakthrough 13 лет назад 2
@ Прорыв - я понимаю это - но если программы работают для нескольких десятков или сотен изображений, но не работают в течение тысяч, то, вероятно, что-то подобное происходит. Если ОП знает об этой возможности, он может либо: а) попробовать другой подход, либо б) задать правильный вопрос о программном обеспечении. ChrisF 13 лет назад 0
Извините, когда я сделал свой первый комментарий, я просто хотел указать, что проблема не в нехватке памяти. Я также имел в виду, что хотя программа может хранить * некоторые * несжатые видеоданные в памяти (например, для предварительного просмотра), она никогда не сохраняет весь видеопоток (опять же, из-за проблем, которые вы выявили в своем ответе). Именно так создаются эти программы, поэтому это не должно быть проблемой. Извините за любые неверные интерпретации! Breakthrough 13 лет назад 1
11
JYelton

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

enter image description here

Вот видео, показывающее этот инструмент в действии: http://vimeo.com/1226517 Darokthar 13 лет назад 1
У меня была опечатка. Я уже попробовал Photolapse, но он терпит неудачу в процессе рендеринга. Если я уменьшу до 10.000 изображений, он завершает AVI-файл, но файл бесполезен и не может быть воспроизведен. Swift 13 лет назад 0
@ Свифт Я понимаю, вам нужны файлы в оригинальном размере. Я всегда собирал изображения с пониженной дискретизацией, используя Irfanview, до создания timelapse avi. Надеюсь, вы найдете решение, которое вам нужно! JYelton 13 лет назад 0
Ссылка на Фотолапсе показывает определенные признаки строгой смертности. Timothy Lee Russell 6 лет назад 0
@Timothy Обновленная ссылка. JYelton 6 лет назад 0
Спасибо @Джелтон. Я закончил сшивать их вместе с FFmpeg, но я хочу попробовать и этот, так что я ценю это. Timothy Lee Russell 6 лет назад 0
11
mrlitsta

Да, я знаю, что этой теме больше года. Я использую это более 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

8
Katu

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

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

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

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

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

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

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

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

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

Это сработало для меня примерно с 2500 снимками, снятыми с помощью GoPro в режиме серийной съемки. Если вы уже используете Picasa, проверьте это решение. lonstar 8 лет назад 0
Picasa была отправлена ​​на пастбище. Timothy Lee Russell 6 лет назад 0
4
wjl

Я столкнулся с подобной проблемой некоторое время назад, когда пытался создать временную паузу для создания сайта в местном хакерском пространстве. Я использую 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
Jyclop

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

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

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

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

3
Mike Moe

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

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

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

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

2
AiDevs

​We tested our Time-Lapse Tool software to generate video from 100k images and it works like a charm. All these images can be added from multiple folders which is helpful for photos from DSLR grouped by 10k images in folder.​

Похожие вопросы