Программа для веб-камеры, которая делает снимки через регулярные промежутки времени [дубликат]

У меня есть веб-камера, которая работает как устройство v4l2.

Какой способ наиболее удобен для съемки stop-motion или time-lapse видео?

N.B.

stop-motion и time-lapse связаны, но концептуально отличаются.

Таймлапс - это когда вы фотографируете сцену с заданным интервалом, а затем объединяете их в видео (которое выглядит так, будто идет очень быстро).

Стоп-моушен - это когда вы управляете сценой и снимаете изображение для каждого изменения, чтобы сформировать анимацию (например, "Уоллес и Громмит").

Приложение для таймлапса должно уметь делать снимки с заданным интервалом.

30
задан 1 November 2012 в 14:20

8 ответов

Захват миллиона изображений.

Первый шаг - захват изображений. Представим, что вы хотите делать снимок каждые 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 кадров в секунду.

42
ответ дан 5 January 2021 в 23:54

Лучший и простой способ сделать это - установить Motion. Это полномасштабное программное обеспечение для видеонаблюдения для операционных систем на базе Linux.

Install via the software center

1
ответ дан 5 January 2021 в 23:54

Быстрый, грязный, но несколько более гибкий вариант выглядит следующим образом:

 ffmpeg -pattern_type glob -framerate 25  -i 'изображение - *. jpg' -c: v libx264 \
  -profile: v high -crf 20 -pix_fmt yuv420p output.mp4
 

Здесь я добавляю глобус -pattern_type , используя подстановочный знак * , и помещаю свое имя файла в одинарные кавычки: 'image - *. Jpg' .

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

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

Отдельно также обратите внимание, что мне пришлось заключить имя входного файла в одинарные кавычки, иначе ffmpeg попытался перезаписать все мои файлы изображений копией первого изображения ( Перед манипуляциями с файлами всегда рекомендуется сделать резервную копию).

Из это редактирование анонимного пользователя.

2
ответ дан 5 January 2021 в 23:54

Camorama - это просмотрщик/записывающее устройство, которое я использовал, чтобы делать снимки с интервалом в 1 минуту и загружать их на веб-сервер, с моей веб-камеры; это простая настройка. Также он доступен в Центре программного обеспечения Ubuntu или вы можете установить его, используя:

sudo apt-get install camorama

Надеюсь, это поможет.

0
ответ дан 5 January 2021 в 23:54

Должна быть возможность установки движения (в движении. conf) в поток - по умолчанию он идет на порт 8081. Все, что вам нужно сделать, чтобы получить зеркало заднего вида, это открыть VLC, "Open Network Stream" и направить его на http://localhost:8081.

0
ответ дан 5 January 2021 в 23:54

gTimelapse ( Ссылка для скачивания )

enter image description here

Приложение для захвата изображений для создания замедленного видео, построенное на библиотеках 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

n.b. 2

см. Этот блог для получения дополнительной полезной информации.

перечисляет все совместимые устройства, которые поддерживает приложение

n.b. 3

Я читал, что gphoto2 не поддерживает веб-камеры - я все равно оставлю этот ответ видимым на тот случай, если кто-то захочет попробовать этот ответ с приличной цифровой камерой вместо веб-камеры.

7
ответ дан 5 January 2021 в 23:54

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

1
ответ дан 5 January 2021 в 23:54

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

Установка motion

sudo apt-получить установочное движение или sudo aptitude install motion

Настройка движения для каждого Х количества секунд

sudo nano /etc/motion/motion. conf

Измените переменные minimum_frame_time и snapshot_interval на то же количество секунд, которое вы хотите сделать снимок с помощью веб-камеры.

10 Minutes = 600 Seconds
. 20 минут = 1200 секунд
30 минут = 1800 секунд
. 1 час = 3600 секунд
2 часа = 7200 секунд и т.д...

запустите движение с помощью sudo motion остановите его с помощью CTRL+C

NOTE - Конфигурируйте motion.conf для сохранения файлов в другом каталоге, отличном от каталога по умолчанию /tmp. Например, в вашей домашней папке. Так как для перехода в /tmp требуется больше привилегий. Вы также найдете много полезных опций в mov.conf для многих других вещей, которые могут вам понравиться.

9
ответ дан 5 January 2021 в 23:54

Другие вопросы по тегам:

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