Як я можу об'єднати 30 000 зображень у фільм із часовим затримкою?


69

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

Зображення у мене є у форматі .JPG, з роздільною здатністю 1280х800, і я шукаю програму, яка може розмістити ці зображення у фільмі, що втрачає час, у якомусь форматі без втрат (сирий / нестиснений AVI було б добре) для подальше редагування. Хтось має якісь ідеї, чи хтось спробував щось подібне з подібною кількістю фотографій?


ви спробували щось на кшталт Adobe Premiere або Final Cut Pro?
Махмуд Хоссам

Ви намагалися використовувати відеокодек без втрат, як HuffYUV?
Hydaral

jpeg є втратним, тому ви вже втратили якість, ви не можете його повернути.
ctrl-alt-delor

Відповіді:


54

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

Ви також можете використовувати mencoder, але це трохи складніше, з усіма параметрами командного рядка "n all". Я використовую це:

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

я використовую

xxx = 25 and 
yyy = 1200

який видає VID, які просто чудові. Додайте мелодії до фільму, вставивши:

-oac copy -audiofile audiofile.mp3

2
Avidemux РОКСИ! Швидке вставлення 33 000 зображень. Швидкий збереження на нестисненому AVI - і він автоматично розбивається на 4 Гб шматки AVI. Але всі вони граються!
Свіфт

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

2
mencoder виводить avi, незалежно від назви вихідного файлу. Існують варіанти виведення інших форматів, але код працює не так добре. Рекомендований спосіб - вивести h.264-in-avi, а потім ремуксувати. Просто використовуйте ffmpeg замість цього. (див. відповідь Шенал Сілва)
Пітер Кордес

mencoder менш підтримується / доступний, ніж це було у 2011 році. Еквівалент у MPV:mpv mf://*.jpg --mf-fps=25 --ovc libx264 --ovcopts=bitrate=1200:threads=2 -o outputfile.mkv
Сем Брайтман

Avidemux повертається лише у VLC, скаржившись, що "VLC не підтримує аудіо- чи відеоформат" PNG ". На жаль, ви не зможете це виправити".
Валлентін

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
Лише застереження: не думайте, що ви можете обійти синтаксис printf ffmpeg, а просто використовуйте * .jpg або щось для більш складних шаблонів. Він фактично замінить кожен ваш файл зображень першим! Я сам спробував це.
Крістіан

Я з цим і заїкався. Здається, ви можете це зробити, але потрібно встановити прапор у стилі глобус. ffmpeg -pattern_type glob -i 'time-lapse-files / *. JPG' time-lapse.mp4
arno_v

2
Ви можете використовувати -framerateдля формату введення image2. Я б рекомендував не встановлювати вихідний кадр в секунду, відмінний від вхідного кадрів в секунду, якщо ви насправді не хочете ffmpeg опускати або дублювати кадри. (Якщо не виводити в контейнер , як ми , де FFmpeg підтримує змінну частоту кадрів.) Так, просто перевіряв, і ви отримаєте додаткові DUP кадрів , що подаються через x264, так що просто встановити FPS на вході, але покласти -rабо -framerateДО-i .../stuff
Пітер Кордес

2
Я також рекомендую ffmpeg. Я про це робив
dSebastien

cat *.jpg | ffmpeg -framerate 60 -f image2pipe -i - ~/output.mp4ось альтернатива, якщо у вас немає -pattern_type globдоступних
vearutop

12

Якщо ви зробите кілька основних розрахунків, ви побачите, що у вас, ймовірно, не вистачає пам’яті, якщо ви намагаєтесь зберегти фільм нестисненим.

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

Якщо ми помножимо це на 30 000 кадрів, вам потрібно 117187,5 Мб ( 114,45 ГБ ) пам'яті, щоб утримати весь фільм в пам'яті за один раз - недарма QuickTime Pro не вдається.

Ви можете спробувати зменшити роздільну здатність, але це може все-таки не вдатися.

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


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

@Breakthrough ~ Але як скласти його в стислий кліп?
jcolebrand

@Результат - це, мабуть, правда, але ОП хоче нестисненого фільму.
ChrisF

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

1
Вибачте, коли я зробив свій перший коментар, я просто хотів зазначити, що проблема - це не брак пам’яті. Я також мав на увазі, що хоча програма може зберігати деякі нестиснені відеодані в пам'яті (наприклад, для попереднього перегляду), вона ніколи не зберігає весь відеопотік (знову ж таки, через проблеми, які ви виявили у своїй відповіді). Це лише те, як ці програми робляться, тому це не повинно бути проблемою. Вибачте за помилки!
Прорив

11

Так, я знаю, що цій нитці більше року. Я використовую це вже понад 2 роки, і він чудово працює з 10 000+ зображеннями:

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

4 к @ 90 кадрів в секунду, звуку немає

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

Мені довелося багато возитися з кодеком, перш ніж отримати щось, що впізнає ютуб. Зразок із використанням другого блоку можна знайти тут: http://www.youtube.com/watch?v=4G_aaPG2QWk


11

Спробуйте PhotoLapse ; огляд його наведено на Lifehacker.com тут .

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


1
Ось відео, яке показує цей інструмент у дії: vimeo.com/1226517
Дароктхар

У мене був друкарський помилок. Я вже спробував Photolapse, але він не вдається в процесі візуалізації. Якщо я знижую до 10 000 зображень, він завершує файл AVI - але файл марний і не може бути відтворений.
Свіфт

@Swift Я розумію, що потрібно, щоб файли були у їх оригінальному розмірі. Я завжди створював знімки із зображеннями зображень із використанням зображень Irfanview до створення avi timelapse avi. Сподіваємось, ви знайдете потрібне вам рішення!
JYelton

Посилання на Photolapse показує певні ознаки суворості мортиса.
Тімоті Лі Рассел

Посилання @Timothy Оновлено
JYelton

8

Я використовую Picasa від Google. На мій погляд, це також дуже хороший організатор фотографій. Ось як.

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

2) Клацніть правою кнопкою миші додану папку в лівому меню «Папки» та> Вибрати всі зображення

3) У верхньому меню> Створити> Відео> З вибору ...

4) Тепер ви перебуваєте у виробництві відео> Вкладка відео> Стиль переходу> Проміжок часу

5) Ви можете завантажити аудіозапис, змінити розміри (я зазвичай використовую 1024x768), додати слайди з текстом у вкладці "Слайд" ...

6) Video Maker> Video Tab> Create Video. Ви можете увійти разом із своїм обліковим записом google та завантажити його на youtube і звідси.

Повернувшись до бібліотеки, можна клацнути правою кнопкою миші відео> знайти на диску, щоб побачити, де було збережено відео. Ще одна гарна річ у використанні Picasa - це те, що ви можете вибрати всі фотографії та перейти до верхнього меню Зображення> Пакетне редагування> Я відчуваю себе щасливим. Це виправить контраст і колір усіх фотографій одночасно.

Перш ніж створити відео, ви можете додати деякий рух у проміжок часу за допомогою http://motiontimelapser.co.nr/ Disclamer: Я автор.


Для мене це справді добре спрацювало з приблизно 2500 зображеннями, зробленими GoPro у режимі серійної роботи. Якщо ви вже використовуєте Picasa, знайдіть це рішення.
лонстар

Picasa налаштований на пасовище.
Тімоті Лі Рассел

5

Я зіткнувся з подібною проблемою деякий час тому, коли спробував зробити часовий проміжок для create-a-thon у локальному хакерському просторі. Я запускаю 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 (Uncompression)", який не працював для мене.
  • Потім, коли це буде складено відео, перейдіть до відео та подивіться, як це. Якщо відео порожнє (немає довжини), спробуйте змінити параметри стиснення. (Саме це сталося, коли я спробував "Повні кадри (нестиснені)")

Я не зміг застосувати жоден з інших перерахованих тут методів для роботи, і цей працював для мене! Сподіваюся, це працює для вас! :)


3

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

Коли ви відкриєте зображення у virtualdub, він попросить завантажити всю послідовність. Звідти - відрегулюйте частоту кадрів, додайте кілька фільтрів (обрізати, різко), виберіть кодер і збережіть своє відео.

Я пропоную вам спочатку експериментувати з меншою кількістю зображень, і, якщо ви задоволені результатом, зробіть всю партію.

Редагувати: Ось простий підручник з цього питання. Все, що вам потрібно зробити, - це знайти відповідний кодек без втрат, як цей: MSU Lossless Video Codec .


2

Ми протестували наше програмне забезпечення Time-Lapse Tool, щоб генерувати відео зі 100-кілограмових зображень, і це працює як шарм. Усі ці зображення можна додавати з декількох папок, що корисно для фотографій з DSLR, згрупованих по 10 к зображень у папці.


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"

1

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


0

Я мав робити щось подібне раніше. Мені вдалося це зробити в quicktime pro, роблячи це 500 кадрів одночасно. Я б врятував їх як окремий фільм, а потім перейшов до наступного. Потім пізніше я поєднав би всі 500 сегментів кадру в остаточну річ.


Різновид зриву для "професійного" програмного забезпечення!
Свіфт

0

Я також проголосував би за "Virtualdub" (я фактично зробив цю операцію, не пам'ятаю, чи їх було багато). Також легко пізніше , щоб видалити кадри ви не хочете, і т.д. Може бути , ви могли б спробувати використовувати формат відео без втрат для візуалізації і зберігати його, як CamStudio кодек. Для затримки часу ... можливо, це також нормально кодек технічної справи (TSCC), але це працює лише в тому випадку, якщо ви придбали (або отримали стару версію з журналу) Camtasia, оскільки вона встановлює версію кодування кодека. Він робить дійсно невеликі відеоролики. І, ймовірно, є апропіатом за проміжок часу.


0

Ще одна програма, яку ви можете використовувати, це Time Lapse MovieMonkey

Це зробило роботу над тим, щоб створити мій останній фільм про проміжок часу дійсно дуже швидко. І мені не довелося читати інструкції. Це просто та інтуїтивно, але має достатньо розширені налаштування. І це безкоштовно.

Автор каже, що його протестували на 50 000 фотографій.


Посилання померло.
Тімоті Лі Рассел

0

Я отримую дійсно хороші результати від використання Picasa або GoPro-студії .

Я зайнятий відеознімком, у якому будувати журнал про створення дошки для серфінгу за допомогою цих інструментів. Незавершена робота була розміщена в моєму профілі на YouTube (пошук "Surfbordbou" - мені ще не дозволено більше 2 посилань на повідомлення)

Виробник фільмів Picasa дійсно простий у використанні, це 2 кліки, і ви отримали проміжок часу набору вибраних фотографій.


Ласкаво просимо на сайт. Коли ви говорите, що ви отримуєте хороші результати, це те, що виконайте такі ж завдання і працюєте з кількістю зображень на порядок, як у питанні? Це ключовий момент, і ви повинні обговорити це у своїй відповіді. Якщо відповідь "так", опишіть її, і ви отримаєте виграшну відповідь. Якщо це не так, це корисна інформація, але не чудова відповідь на це питання. У такому випадку видаліть цю відповідь, задайте нове запитання щодо виконання свого завдання, а потім відповідайте на власне питання своїм рішенням. Це була б ще одна виграшна комбінація.
fixer1234
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.