Як зробити відео з зупинкою руху чи затримки з веб-камерою?


28

У мене є веб-камера, яка працює як v4l2 пристрій.

Що є найзручнішим способом зйомки або відео зупинки, або проміжок часу ?

NB

стоп-рух та проміжок часу пов'язані, але концептуально різні.

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

Стоп-рух - це місце, де ви керуєте сценою і знімаєте зображення для кожної внесеної вами зміни, щоб сформувати анімацію (наприклад, Уоллес і Grommit).

Додаток про затримку часу повинен мати можливість робити фотографії через встановлений інтервал.


Подібне запитання у Фотографіях має цікаві відповіді, які частково перекриваються.
anarcat

Відповіді:


40

Захоплення мільйона зображень.

Перший крок - зйомка зображень. Давайте уявимо, що ви хочете робити фотографії раз на 10 секунд і зберігати їх у каталозі, що знаходиться на вашому робочому столі

mkdir ~/Desktop/cap
cd ~/Desktop/cap

Ми використовуємо streamerдля зйомки, тож давайте встановимо його:

sudo apt-get install streamer

А зараз ми хочемо захопити

streamer -o 0000.jpeg -s 300x200 -j 100 -t 2000 -r 1

-t- це кількість кадрів, які ми хочемо зробити. -r- це кадри в секунду. Отже, це повинно захоплювати один кадр щосекунди. Якщо стиснути це відео у 30 кадрів в секунду, одна хвилина зйомки перетворюється на 2 секунди відео. Ви хочете налаштувати це відповідно, залежно від того, скільки вихідного відео ви хочете.

Цей рядок дасть вам 2000 зображень, для запису знадобиться півгодини, а при 30 кадрів в секунду буде генеровано трохи більше 1 хвилини відео.

Збираючи все це разом

Я збираюся використовувати ffmpeg. Існує багато різних способів поєднання їх, включаючи, mencoderале я просто віддаю перевагу ffmpegпоглядам на життя. Після його встановлення ( sudo apt-get install ffmpeg) просто вимкнено це:

ffmpeg -r 30 -i %04d.jpeg -s hd480 -vcodec libx264 -vpre hq time-lapse.mp4

Налаштування якості там не схожі на мою веб-камеру, тому ви, можливо, захочете пограти з варіантами набагато більше, щоб покращити кодування, але це повинно створити вам приємне відео в 30 кадрів в секунду, стиснене в x264.

Можливо, ви захочете пограти з кадром ( -r), але я не ходив би нижче 15 кадрів в секунду.


1
Кожні десять секунд знадобиться -r 0.1.
Seppo Erviälä

man streamerне описує, що робить кожен параметр. Де я можу отримати інформацію про jпараметр? Як я можу зробити його захопленням, поки не натискаю CTRL + C, із заданим FPS?
Томаш Зато - Відновіть Моніку

@oli ffmpegбільше не працює для мене. Що я повинен використовувати?
Тім

1
@ChrisH Це технічно добре, я просто маю на увазі, що це основне відсічення для плавного відео. Це багато в чому залежить від того, наскільки швидко ви їх приймаєте.
Олі

2
@ TomášZato streamer -hнабагато всебічніше. Я ненавиджу, коли розробники докладають чимало зусиль, --helpале нічого для сторінки man.
WasabiFlux

9

Для захоплення кожні X секунд з веб-камери використовуйте рух.

Встановити motion

sudo apt-get install motion або sudo aptitude install motion

Налаштуйте рух на кожну кількість X секунд

sudo nano /etc/motion/motion.conf

Змініть змінні minimal_frame_time та snapshot_interval на ту саму кількість секунд, яку ви хочете зробити знімком за допомогою веб-камери.

10 хвилин = 600 секунд
20 хвилин = 1200 секунд
30 хвилин = 1800 секунд
1 година = 3600 секунд
2 години = 7200 секунд і так далі ...

запустити рух із sudo motionзупинкою його CTRL+C

ПРИМІТКА - Налаштуйте motion.conf для збереження файлів в іншій директорії, ніж типовий / tmp. Наприклад, ваша домашня папка. Оскільки для переходу до / tmp потрібно більше привілеїв. Ви також знайдете багато корисних варіантів у motion.conf для багатьох інших речей, які вам можуть сподобатися.


Це набагато краще, ніж стример. Не впевнений, що мені подобається обов'язкове рішення root, і, здається, я втрачаю можливість використовувати його як дзеркало заднього виду, але це набагато краще, ніж стример, і може вирішити іншу проблему, яку я хотів подивитися в, який фотографується лише тоді, коли я там. Позначу це рішенням, якщо я зможу виправити інші проблеми.
Дейв Якобі

Насправді для його використання вам не потрібен кореневий доступ. Вам потрібен лише кореневий доступ для редагування конфігураційного файла.
Луїс Альварадо

Я гадаю, що якщо ви хочете записати на шлях за замовчуванням, це може знадобитися теж, але це перше, що я змінив. Спасибі.
Дейв Джакобі

Друг без проблем. Радий допомогти.
Луїс Альварадо

Я спробував це. Це працювало нормально. Я можу спробувати ще раз в якийсь момент. Але це не дало мені аспекту заднього виду, який я ціную більше, ніж автоматизоване фотографування. Отже, я зараз біжу сиром.
Дейв Джекобі

7

gTimelapse ( Посилання для завантаження )

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

Додаток для зйомки зображень для генерування відео із затримкою часу, побудований на бібліотеках gPhoto2 та wxWidgets.

Складіть інструкції

Завантажте джерело з веб-сайту sourceforge

в терміналі введіть наступне:

cd Downloads 
gunzip gtimelapse-0.1.tar.gz
tar -xvf gtimelapse-0.1.tar
cd gtimelapse
sudo apt-get install build-essential libgphoto2-2-dev libwxbase2.8-dev libwxgtk2.8-dev gphoto2
./configure
make
sudo make install

Для запуску типу програми

gtimelapse &

nb 1

gphoto2 --list-cameras | more

nb 2

див. цей блог для отримання додаткової корисної інформації

перераховані всі сумісні пристрої, які підтримує програма

nb 3

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


Щоб отримати і скласти wxWidgets з усіма передумовами, знадобилося досить багато часу. Я також скомпілював gTimelapse, але він просто збоїть з: [Debug] 13:21:12: ./src/common/menucmn.cpp(859): поскаржитися на "елемент" не вдалося в Check (): wxMenu :: Check: немає такого елемента [Налагодження] Генерування сліду стека ... будь ласка, почекайте трек / точка переривання
Seppo Erviälä

ОК - я сьогодні буду їхати, щоб будувати себе - я додаю кілька інструкцій до своєї відповіді (припускаючи, що я можу сам змусити це будувати).
fossfreedom

Це насправді дуже корисно, оскільки у мене є цифровий фотоапарат, підтримуваний gphoto2. Я не знала, що така бібліотека існує.
Seppo Erviälä

1

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


1

Найкращий і простий спосіб зробити це, встановивши Motion . Це повномасштабне програмне забезпечення для нагляду для операційних систем на базі Linux.

Встановіть через програмний центр


1

Швидкий, брудний, але дещо гнучкіший варіант:

ffmpeg -pattern_type glob -framerate 25 -i 'image-*.jpg' -c:v libx264 \
    -profile:v high -crf 20 -pix_fmt yuv420p output.mp4

Тут я додаю -pattern_type glob, використовуючи символи узагальнення *, і поміщаючи моє ім'я файлу в одинарних цитатах: 'image-*.jpg'.

Перевага: Цей синтаксис дозволяє починати з будь-якого числа та мати будь-який шаблон у вашій нумерації (я часто створюю кількість на 20, наприклад, починаючи з 20000).

Недоліки: Цей синтаксис не дозволяє пропускати повторювані фігури, як дозволяє синтаксис '% ## d'. Крім того, ви не можете мати схему нумерації без попередніх 0. Тобто схема іменування файлів повинна бути чимось на зразок 00001, 00002, ... 00033 ... (Нумерація не може бути 1,2,3, ... 33, ..., інакше число "3" буде сортувати між Наприклад, "39" та "40".

Окремо також зауважте, що мені довелося вводити своє ім'я вхідного файлу в єдині лапки, інакше ffmpeg намагався перезаписати всі мої файли зображень копією першого зображення (Завжди корисно скопіювати резервну копію, перш ніж маніпулювати файлами ).

Від цього редагує анонімний користувач.


0

Ви повинні мати змогу налаштувати рух (in motion.conf) для передачі потоку - за замовчуванням він передається на порт 8081. Все, що вам потрібно зробити, щоб отримати дзеркало заднього виду - це відкрити VLC, "Відкрити мережевий потік" та вкажіть його на http: // localhost: 8081 .


0

Camorama - це переглядач / рекордер веб-камер, який я використовував для зйомки з інтервалом в 1 хвилину та завантажував їх на веб-сервер, зі своєї веб-камери; це проста установка. Також він доступний у програмному центрі Ubuntu або ви можете встановити його за допомогою:

sudo apt-get install camorama

Сподіваюся, це допомагає.


Вибачте, щойно побачив, що ви написали, що ваша веб-камера не працює з Camorama.
кіциромія

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