Как я сделал автоматическую съемку фото на веб камере ноутбука из консоли Linux

Для своих личных задач я сделал из старого ноутбука с I5 3-го поколения и 16GB оперативной памяти домашний сервер. Установил на него Debian, даже настроил на нем аналог RDP для линукса - XFCE. На нем работает nginx и еще некоторые домашние роботы 🙂 Но очень хотелось еще сделать небольшое DIY видеонаблюдение из него. Инструменты: Debian, Nginx, Fswebcam

У ноутбука есть встроенная камера и еще дополнительно подключил к нему внешнюю, благодаря чему через XRDP мог смотреть, что происходит дома. Но хотелось иметь возможность не подключаться к серверу для этого и не устраивать постоянный стрим. Очень хотелось делать фото раз в какое-то время и иметь к ним доступ через браузер.
Собственно, для решения задачи требовалось поднять nginx и настроить создание фото раз в какое-то время. Разумеется, из консоли.

Выбор инструмента для создания фото пал на легкое и довольно гибкое решение fswebcam.
Документация по работе выложена на сайте https://www.systutorials.com/docs/linux/man/1-fswebcam/, также ее можно получить через консоль, выполнив 'fswebcam -?', потому дублировать здесь не буду.

Про Nginx тут тоже писать не буду, т.к. это отдельная тема, да и не обязательно использовать Nginx в качесве веб-сервера.

Итак, для установки Fswebcam нужно в консоли выполнить следующую команду:
sudo apt-get install fswebcam

Сделать снимок в консоли можно следующей командой:
fswebcam -d '/dev/video0' -r '1024x768' --rotate '270' --timestamp '%Y-%m-%d %H:%M:%S (%Z)' '/var/www/html/test.jpg' -l 10

  • -d - название устройства
  • -r - разрешение. Не с любым разрешением можно делать фото, оно автоматически подстроится под наиболее близкое к указанному
  • --rotate - угол поворота. Моя камера стояла повернутой, потому я установил 270 градусов для нормализации. Угол должен быть кратным 90
  • --timestamp - добавление текста на фото
  • -l - через какое время повторять съемку

И еще один параметр - это имя сохраняемого файла. Убедитесь, что у пользователя, под которым запушен процесс, есть права на запись в папку.

Имя файла поддерживает strftime формат, потому можно сохрянять файл с информацией о времени, например так:

fswebcam -d '/dev/video0' -r '1024x768' --rotate '270' --timestamp '%Y-%m-%d %H:%M:%S (%Z)' '/var/www/html/test%Y-%m-%d %H-%M-%S.jpg' -l 60


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment






MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика