Як створити timelapse відео з колекції фотографій в Linux?


19

Я хочу створити часовий проміжок з колекції зображень під Ubuntu. Я хотів би зробити відео HD та в ідеалі додати саундтрек.


Я цього не бачив. Я можу видалити це питання і розмістити там свою відповідь. Це нормально?
Frederico Schardong

Я навіть не впевнений, чи це найкращий сайт для обміну статей. Я просто хочу поділитися тим, що я зробив.
Frederico Schardong

На askubuntu.com є подібне запитання . Відповіді в основному висвітлюються тут під час написання, але це, можливо, зміниться в майбутньому.
anarcat

Відповіді:


11

Ffmpeg це зробить. Якщо у вас є зображення, img001.jpg, img002.jpg, img003.jpg, ...то в командному рядку виконайте:

ffmpeg -i img*.jpg output.mpeg

Є більше варіантів, наведених на ffmpeg --helpсторінках або man, або в Інтернеті. Вони дозволяють контролювати частоту кадрів та формат виводу.


Використовуючи це, для мене виникає помилка, оскільки він вважає останні .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.
anarcat

З іншими версіями ffmpeg наступна версія працює без спроби змінити зображення:ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Патрік Р.

9

Спочатку ми перейменовуємо всі * .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 faultffmpeg.


Для сегмента за замовчуванням було б корисно знати вашу версію ffmpeg.
Unapiedra

Якщо ви схожі на мене, ви знімали 3: 2 (мої фотографії D750 - це 6016x4016), і вам це потрібно в 16: 9 (для відео 4k) 3840x2160, ви можете використовувати FFMPEG для Pillerbox відео та накладати чорні трамвайні лінії з боків за допомогою цієї команди - ffmpeg -i вихід.avi -qscale 0 -vf "шкала = 3840: 2160: force_original_aspect_ratio = зменшення, pad = 3840: 2160: (ow-iw) / 2: (oh-ih) / 2" output-final.avi - Відео буде більше, але втрати якості не буде, оскільки це зменшення масштабу
Роб

у вашій ffmpegкоманді -sameqваріант замінено на-qscale 0
трансанг

3

Блендер - це хороше рішення, якщо ви маєте справу з часовим промігом руху (гіперлапсом) або нестабільним кадром. Він має функції відстеження руху, тому ви можете вибрати фіксовану точку, яку слід відстежувати протягом усього проміжку часу. Ви також можете виправити проблеми з обертанням.



0

Ви можете використовувати mencoder. Варіанти досить прикладні:

  • список усіх ваших файлів зображень.

Якщо всі вони знаходяться в каталозі лікувальних препаратів із упорядкованими іменами, і ви хочете, щоб список у файлі /tmp/files.txt:

ls -1 *jpg > /tmp/files.txt

  • Використовуйте mencoder з відповідним варіантом.

Якщо ви хочете, щоб вихідний файл був /tmp/test.avi з 30 кадрів в секунду:

mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt


0

Kdenlive також може генерувати часові проміжки за допомогою Add Slideshow Clipменю, як це пояснено в цьому підручнику .

За даними цього ж сайту , Openshot має схожий функціонал, але не рекомендує його, оскільки це "занадто глючно". Тим не менш, якщо це ваш кращий відеоредактор, ви будете раді дізнатись, що можете просто перетягнути послідовність файлів, правильно названих (001.jpg до NNN.jpg), у вікно відкриття, щоб імпортувати їх як часовий проміжок.


Посібник з 2014 року. OpenShot показав багато за останні кілька років, тепер він набагато надійніший.
vclaw
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.