Создайте сеть камер безопасности Raspberry Pi

Build Raspberry Pi Security Camera Network



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

Вы можете использовать медиаплеер VLC для совместного использования видеопотока через порт TCP и доступа к нему с любого устройства в вашей локальной сети (LAN) с помощью медиаплеера VLC.







В этой статье я покажу вам, как создать камеру безопасности Raspberry Pi и транслировать видеопоток камеры с Raspberry Pi с помощью медиаплеера VLC.



Итак, приступим!



Вещи, которые вам понадобятся

Чтобы следовать этой статье, вам понадобятся следующие вещи:





  1. Raspberry Pi 3 или Raspberry Pi 4
  2. Модуль камеры Raspberry Pi
  3. Адаптер питания Micro-USB (Raspberry Pi 3) или USB Type-C (Raspberry Pi 4)
  4. Карта MicroSD на 16 ГБ или 32 ГБ с прошитой ОС Raspberry Pi
  5. Сетевое подключение на Raspberry Pi
  6. Ноутбук или настольный компьютер для удаленного рабочего стола VNC или доступа SSH к Raspberry Pi.

ПРИМЕЧАНИЕ : Если вы не хотите получать доступ к Raspberry Pi удаленно через SSH или VNC, вам также необходимо подключить к Raspberry Pi монитор, клавиатуру и мышь. Мне ничего из этого не понадобится, так как я буду подключать Raspberry Pi удаленно через VNC или SSH. Моя установка называется безголовой установкой Raspberry Pi.

Если вам нужна помощь по прошивке образа ОС Raspberry Pi на карту microSD, ознакомьтесь с моей статьей: Как установить и использовать Raspberry Pi Imager.



Если вы новичок в Raspberry Pi и вам нужна помощь при установке ОС Raspberry Pi на Raspberry Pi, ознакомьтесь с моей статьей: Как установить ОС Raspberry Pi на Raspberry Pi 4 .

Если вам нужна помощь в настройке Raspberry Pi без использования головы, ознакомьтесь с моей статьей: Как установить и настроить ОС Raspberry Pi на Raspberry Pi 4 без внешнего монитора.

Если вам нужна помощь в подключении модуля камеры Raspberry Pi к Raspberry Pi, ознакомьтесь с моей статьей: Использование модуля камеры Raspberry Pi .

Включение модуля камеры Raspberry Pi

Интерфейс камеры по умолчанию отключен в ОС Raspberry Pi. Вы можете включить его из инструмента настройки Raspberry Pi, raspi-config .

Запустите инструмент настройки Raspberry Pi с помощью следующей команды:

$ sudo raspi-config

Выбирать Опции интерфейса и нажмите .

Выбирать Камера и нажмите .

Выбирать и нажмите .

Нажмите .

Выбирать и нажмите .

Выбирать и нажмите . Ваш Raspberry Pi должен перезагрузиться, и изменения должны быть применены.

Установка VLC Media Player

VLC Media Player доступен в официальном репозитории пакетов Raspberry Pi OS. Таким образом, его легко установить на ОС Raspberry Pi.

Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

$ sudo подходящее обновление

Чтобы установить VLC Media Player, выполните следующую команду:

$ sudo apt install vlc -y

Должен быть установлен VLC Media Player. В моем случае он уже установлен.

Создание сервера камеры с помощью VLC Media Player

В raspivid Команда используется для записи видео с модуля камеры Raspberry Pi. Я объяснил, как использовать raspivid команда для записи видео с помощью Raspberry Pi в моей статье Использование модуля камеры Raspberry Pi .

VLC Media Player имеет проигрыватель командной строки. cvlc . Вы можете использовать cvlc команда для совместного использования видеопотока через порт TCP. В данном случае - видеопоток модуля камеры Raspberry Pi.

Чтобы поделиться видеопотоком камеры Raspberry Pi через порт TCP с помощью VLC Media Player, выполните следующую команду:

$ raspivid -o - -t 0 -hf -w 1920 -h 1080 -fps 30 | cvlc -vvv поток: /// dev / stdin
--sout '#standard {access = http, mux = ts, dst =: 9000}': demux = h264

В raspivid Команда используется для записи видео с модуля камеры Raspberry Pi.

Вот следующее значение команды ниже:

  • Ширина видео будет 1920 пикселей.
  • Высота видео составит 1080 пикселей ( -h 1080 ).
  • Видео будет перевернуто по горизонтали ( -hf ).
  • Видео будет записываться с частотой 30 кадров в секунду ( -fps 30 ).
  • Видео будет записываться неограниченное количество секунд ( -t 0 ).
  • Видеопоток будет распечатан на терминале, а не в файле ( -или - ).

Вы можете изменить любой из этих параметров по своему усмотрению.

В cvlc Команда используется для открытия TCP-порта и отправки видеопотока камеры Raspberry Pi на TCP-порт.

Видеопоток берется со стандартного входа ( поток: /// dev / stdin ) терминала (с помощью трубы | ).

VLC будет использовать кодек TS для мультиплексирования ( –Sout ‘#standard {…, mux = ts,…}’ ) входной видеопоток и кодек H264 для демультиплексирования ( : demux = h264 ) выходной видеосигнал.

Видеопоток будет доступен на HTTP-порту 9000 ( –Sout ‘#standard {access = http,…, dst =: 9000}’ ).

После того, как вы запустите команду и буферизация будет завершена, вы можете транслировать видео с любого устройства в сети с помощью VLC Media Player.

Потоковая передача видеопотока с сервера камеры Raspberry Pi

Чтобы получить доступ к каналу камеры с других устройств в вашей домашней сети (LAN), вам необходимо знать IP-адрес вашего Raspberry Pi.

Вы можете узнать IP-адрес вашего Raspberry Pi в веб-интерфейсе вашего домашнего маршрутизатора. В моем случае IP-адрес 192.168.0.103. Для вас все будет иначе. Так что не забудьте заменить его теперь своим.

Если у вас есть доступ к консоли Raspberry Pi, вы также можете выполнить следующую команду, чтобы найти IP-адрес.

$ hostname -I

Как только вы узнаете IP-адрес своего Raspberry Pi, откройте приложение VLC Media Player и перейдите в Половина > Открыть сетевой поток… как показано на скриншоте ниже.

Введите URL-адрес сервера камеры в поле Пожалуйста, введите сетевой URL раздел. В моем случае URL-адрес http://192.168.0.103:9000 .

После того, как вы ввели URL-адрес, нажмите Играть .

VLC Media Player должен начать потоковую передачу видео с Raspberry Pi, как вы можете видеть на скриншоте ниже.

Теперь остановите сервер камеры, нажав + C .

Запуск сервера камеры при загрузке системы

Запускать вручную сервер камеры каждый раз, когда вы загружаете Raspberry Pi, не очень практично. Итак, мы можем создать службу systemd для сервера камеры, которая будет автоматически запускать сервер камеры при загрузке.

Сначала создайте камера-поток- HTTP. Услуга файл в / и т.д. / systemd / system / каталог следующим образом:

$ sudo nano /etc/systemd/system/camera-stream-http.service

Введите следующие строки в поле камера-поток-http.service файл.

[Ед. изм]
Описание = Сервер потоковой передачи с камеры Raspberry Pi
После = network.target
[Услуга]
Рабочий каталог = / home / pi
Окружающая среда = APP_RES_WIDTH = 800
Окружающая среда = APP_RES_HEIGHT = 450
Среда = APP_RES_FPS = 24
Окружающая среда = APP_PORT = 9000
ExecStart = / bin / bash -c 'raspivid -o - -t 0 -hf -w $ APP_RES_WIDTH -h
$ APP_RES_HEIGHT -fps $ APP_RES_FPS | cvlc -vvv поток: /// dev / stdin
--sout '#standard {access = http, mux = ts, dst =: $ APP_PORT}': demux = h264 '
StandardOutput = наследовать
StandardError = наследовать
Перезагрузка = всегда
Пользователь = пи
[Установить]
WantedBy = multi-user.target

Вы можете настроить следующие переменные среды, чтобы настроить сервер камеры по своему усмотрению.

Окружающая среда = APP_RES_WIDTH = 800
Окружающая среда = APP_RES_HEIGHT = 450
Среда = APP_RES_FPS = 24
Окружающая среда = APP_PORT = 9000

Когда вы закончите, нажмите + Икс с последующим А ТАКЖЕ, а также чтобы спасти камера-поток-http.service файл.

Перезагрузите демоны systemd, чтобы изменения вступили в силу следующим образом:

$ sudo systemctl демон-перезагрузка

Как видите, камера-поток-http Сервис systemd в данный момент не запущен.

$ sudo systemctl status camera-stream-http.service

Вы можете начать камера-поток-http системный сервис с помощью следующей команды:

$ sudo systemctl start camera-stream-http.service

В камера-поток-http сервис должен быть активен / запущен, как вы можете видеть на скриншоте ниже. Так, камера-поток-http служба systemd работает.

$ sudo systemctl status camera-stream-http.service

Вы можете добавить камера-поток-http systemd для запуска системы Raspberry Pi OS с помощью следующей команды:

$ sudo systemctl включить камеру-поток-http.service

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

$ sudo перезагрузка

После загрузки Raspberry Pi камера-поток-http Сервис systemd должен быть активен / запущен, как вы можете видеть на скриншоте ниже.

$ sudo systemctl status raspi-home-automation.service

Заключение

В этой статье я показал вам, как создать камеру безопасности Raspberry Pi и получить доступ к видеопотоку из вашей домашней сети (LAN) с помощью VLC Media Player. Если вам просто нужна простая настройка камеры безопасности Raspberry Pi, эта статья должна помочь вам начать работу.