- Быстрая сборка камеры видеонаблюдения с захватом движения с помощью Raspberry Pi:
- Настройка параметров мультимедиа в движении:
- Как получить видеопоток через Интернет:
Безопасность в наши дни является главной заботой, и сегодня существует множество технологий, которые обеспечивают безопасность и мониторинг вашего места. Камеры видеонаблюдения очень полезны, чтобы следить за вашим домом или офисом. Хотя цены на эти типы камер были значительно снижены с момента их появления, IP-камеры, которые имеют возможность отправлять и получать данные по сети, очень дороги. А для True Surveillance камера должна иметь возможность отправлять свой канал через Интернет, чтобы за ней можно было наблюдать из любой точки мира.
Сегодня мы делаем очень дешевую камеру для видеонаблюдения с захватом движения, использующую Raspberry Pi и веб-камеру. Это отличный и очень дешевый инструмент безопасности, который имеет множество настраиваемых параметров и может быть создан за несколько минут. Здесь мы используем только Raspberry Pi и веб-камеру USB для создания этой камеры захвата движения. На нашей плате Raspberry Pi установлена ОС Raspbian Jessie. Вам следует проверить эту статью, чтобы установить ОС Raspbian и начать работу с Raspberry Pi.
Здесь мы сначала рассмотрим краткое руководство, чтобы вы могли подготовить свою камеру наблюдения за несколько минут со всеми конфигурациями по умолчанию, а после этого мы погрузимся в другие детали и параметры конфигурации, чтобы настроить ее в соответствии с вашими потребностями.
Но перед этим давайте узнаем кое-что о Motion (программное обеспечение для видеонаблюдения), которое является сердцем этого проекта. Motion - это бесплатное программное обеспечение для видеонаблюдения с открытым исходным кодом, разработанное для Linux. Он обнаруживает движение и начинает записывать его на видео. Установив «Motion» на Raspberry Pi, вы можете волшебным образом превратить Raspberry Pi в камеру безопасности и получить следующие функции:
1. Вы можете смотреть видео в реальном времени в веб-браузере, введя IP-адрес Pi вместе с портом.
2. Он будет записывать и сохранять видео всякий раз, когда обнаруживает движение или какие-либо помехи в области просмотра. Он будет записывать видео до тех пор, пока не появится какое-то движение, затем остановится и сохранит файл, который можно будет просмотреть позже.
3. Он может создавать красивое замедленное видео.
4. Он может делать снимки через определенные промежутки времени или при движении. Снимки также сохраняются на диске для дальнейшего использования.
Кроме того, у него есть несколько параметров конфигурации, которые мы вскоре обсудим, и мы также можем установить определяемые пользователем «триггеры» на определенные события. В настоящее время Motion поддерживает только USB-камеру из коробки, если вы хотите использовать Pi Camera, вам необходимо использовать специальную сборку Motion.
Быстрая сборка камеры видеонаблюдения с захватом движения с помощью Raspberry Pi:
Здесь вам нужно выполнить всего несколько команд, чтобы начать получать первый видеопоток по сети. Перед этим убедитесь, что ваш Raspberry Pi подключен к Интернету, используя локальную сеть или Wi-Fi, а затем выполните следующие действия:
Шаг 1. Сначала выполните следующую команду, чтобы обновить ОС Raspbian на Raspberry Pi:
sudo apt-get update
Шаг 2: Затем установите библиотеку Motion, используя следующую команду:
sudo apt-get install motion
Шаг 3: Теперь установите для Motion daemon значение yes, отредактировав файл: / etc / default / motion, чтобы он всегда работал. Отредактируйте этот файл, используя редактор nano с sudo, как показано ниже:
судо нано / и т.д. / по умолчанию / движение
Затем сохраните файл, нажав CTRL + X, затем Y и Enter.
Шаг 4: Теперь нам нужно установить разрешение для Целевого каталога (/ var / lib / motion /), в котором Motion сохраняет все видеозаписи и файлы изображений. Нам нужно установить «Движение» в качестве владельца этого каталога, выполнив следующую команду:
sudo chown движение: движение / var / lib / движение /
Это разрешение необходимо, иначе при проверке состояния службы движения с помощью этой команды вы получите сообщение об ошибке: sudo service motion status
Шаг 5: Теперь мы почти закончили, нам нужно только изменить один параметр конфигурации в файле конфигурации движения (/etc/motion/motion.conf ), который отключен от stream_localhost. Мы должны отключить эту потоковую передачу с локального хоста, иначе мы не сможем получить доступ к видео-каналу в нашей сети, и он будет доступен только с самого Raspberry Pi. Для этого отредактируйте файл конфигурации движения с помощью редактора nano и выключите его, как показано ниже:
sudo nano /etc/motion/motion.conf
Теперь все готово для получения прямой трансляции с веб-камеры USB, подключенной к Pi. Просто запустите службу Motion, используя команду ниже, и откройте IP-адрес Raspberry Pi с портом 8081 в своем браузере (например, 192.168.1.103:8081):
sudo /etc/init.d/motion start
И вы увидите прямую трансляцию с вашей веб-камеры, как показано ниже. Здесь мы использовали недорогую веб-камеру USB (веб-камера Quantum QHM500LM), которая без проблем работала с нашим Raspberry Pi, но вы также можете использовать камеру хорошего качества для лучшего разрешения.
Как будет показано в браузере, вы можете использовать любое устройство для просмотра ленты, которая поддерживает веб-браузер, например, мобильный телефон, планшет и т. Д. Ниже приведен снимок с мобильного телефона:
Вы всегда можете запустить, остановить, перезапустить и получить статус службы движения, используя следующие четыре команды:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion restart статус движения sudo service
или вы можете перезагрузить Raspberry Pi для устранения неполадок, когда это необходимо:
перезагрузка sudo
Примечание: если у вас модель Raspberry Pi ниже версии 3, вам может потребоваться ключ Wi-Fi для беспроводного подключения Raspberry Pi к маршрутизатору. Raspberry Pi 3 имеет встроенный Wi-Fi. Здесь мы использовали Raspberry Pi 2 Model B с ключом Wi-Fi.
Настройка параметров мультимедиа в движении:
Итак, теперь наша камера наблюдения работает и работает. Теперь мы можем изучить некоторые очень полезные параметры конфигурации, с помощью которых мы можем оптимизировать его в соответствии с нашими потребностями и получить очень впечатляющие результаты. В файле конфигурации движения все настройки очень хорошо объяснены с их значениями по умолчанию и возобновленными значениями, просто проверьте их с помощью следующей команды:
sudo nano /etc/motion/motion.conf
Помимо получения прямой трансляции, Motion записывает и сохраняет видеофайлы всякий раз, когда обнаруживает движение. Таким образом, вы можете настроить частоту кадров, качество, ширину / высоту потокового видео. Вы можете установить высокую частоту кадров для видео в реальном времени, но ваша сеть должна быть достаточно быстрой для этого. Ниже приведены значения, которые мы использовали, вы можете изменить их соответствующим образом:
# Ширина изображения (в пикселях). Допустимый диапазон: зависит от камеры, по умолчанию: 352 width 640 # Высота изображения (в пикселях). Допустимый диапазон: зависит от камеры, по умолчанию: 288, высота 480 # Максимальное количество кадров, снимаемых в секунду. # Допустимый диапазон: 2-100. По умолчанию: 100 (почти без ограничений). частота кадров 50 stream_quality 90
Было бы хорошо сохранить несколько снимков до и после обнаружения движения и начала записи видео. Используйте для этого следующие настройки:
# Определяет количество предварительно захваченных (буферизованных) изображений до обнаружения движения #, которые будут выводиться при обнаружении движения. # Рекомендуемый диапазон: от 0 до 5 (по умолчанию: 0) pre_capture 0 # Количество кадров для захвата после того, как движение больше не обнаруживается (по умолчанию: 0) post_capture 0
Движение по умолчанию делает слишком много снимков, когда обнаруживает движение, и вы получаете так много файлов jpg для небольшого движения. Так что будет хорошо либо отключить эту настройку ( output_pictures off ), либо установить ее на «лучший»:
output_pictures лучшие
Вы также можете делать снимки через определенные вами промежутки времени, используя следующую опцию:
# Делать автоматический снимок каждые N секунд (по умолчанию: 0 = отключено) snapshot_interval 0
Самая привлекательная функция для меня - это таймлапс-видео, это очень хорошая компоновка для красивых таймлапсов по очень низкой цене. Здесь вы можете определить интервал для снимков для Timelapse Video:
# Значение по умолчанию 0 = выключено - иначе кадр будет сохраняться каждую N-ю секунду ffmpeg_timelapse 2
Вы можете изменить целевой каталог для сохранения всех записанных файлов и изображений, используя target_dir, и не забудьте установить «Motion» в качестве владельца этого каталога, как объяснялось ранее.
# Целевой базовый каталог для картинок и фильмов # Рекомендуется использовать абсолютный путь. (По умолчанию: текущий рабочий каталог) target_dir / var / lib / motion
Вы можете изменить порт веб-потоковой передачи (по умолчанию 8081):
# Мини-http сервер прослушивает этот порт для запросов (по умолчанию: 0 = отключено) stream_port 8081
Если вам не нужен длинный видеофайл, вы можете дать команду Motion сделать несколько клипов определенной продолжительности вместо одного большого файла. Вы можете указать продолжительность клипов в секундах (0 для бесконечности):
# Максимальная длина фильма в секундах # При превышении значения создается новый файл фильма. (По умолчанию: 0 = бесконечно) max_movie_time 30
Вы также можете решить, как определять движение, и можете установить количество пикселей или кадров, которые необходимо изменить для обнаружения истинного движения:
# Пороговое значение количества измененных пикселей в изображении, которое # запускает обнаружение движения (по умолчанию: 1500) threshold 1500 # Кадры изображения должны содержать движение, по крайней мере, указанное количество кадров # в строке, прежде чем они будут обнаружены как истинное движение. По умолчанию 1, # обнаруживается все движение. Допустимый диапазон: от 1 до тысячи, рекомендуется 1–5 minimum_motion_frames 5
По умолчанию Motions сохраняет журналы в syslog, но вы можете определить специальный файл журнала для Motion:
# Использовать файл для сохранения сообщений журнала, если не указаны stderr и syslog. (по умолчанию: не определено) файл журнала /tmp/motion.log
Не забудьте сохранить и перезапустить службу Motion после изменения любых настроек. Чтобы сохранить motion.conf, нажмите CTRL + X, затем Y и затем Enter.
Итак, вот некоторые общие настройки, которые можно использовать для достижения хороших результатов. Но если вам интересно, то покопайтесь еще раз в файле конфигурации и начните играть с настройками. Существует множество вариантов настройки яркости, контрастности, скорости передачи данных, триггеров, аутентификации по паролю и многого другого.
Как получить видеопоток через Интернет:
Здесь мы наблюдали за потоком веб-камеры по локальной сети, используя локальный IP-адрес Raspberry Pi. Но если вы хотите контролировать его из любого места через Интернет, вам необходимо настроить перенаправление портов в своем маршрутизаторе / модеме. В основном вам необходимо перенаправить порт 80 (используемый для HTTP или Интернета) на ваш локальный или частный IP-адрес. из вас Raspberry Pi (например, (192.168 * в нашем случае). После переадресации порта все входящие соединения на порт 80 будут перенаправлены на этот локальный адрес, и вы можете смотреть прямую трансляцию, введя свой общедоступный IP-адрес в Интернете с помощью потоковой передачи порт, который мы установили ранее (8081). Каждый маршрутизатор имеет свой пользовательский интерфейс для настройки переадресации портов, поэтому вы можете войти в свой маршрутизатор (192.168.1.1) и найти соответствующий вариант. Но помните, что для доступа к Raspberry Pi через Интернет должен иметь статический общедоступный IP-адрес, и его не следует менять при каждом перезапуске модема. Статический IP-адрес предоставляется вашим интернет-провайдером.
Вот как мы можем легко настроить очень недорогую камеру наблюдения, используя Raspberry Pi и простую веб-камеру.