Изградете мрежа за видеонаблюдение на 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. 16 GB или 32 GB MicroSD карта с Raspberry Pi OS мига
  5. Мрежова свързаност на Raspberry Pi
  6. Лаптоп или настолен компютър за VNC отдалечен работен плот или SSH достъп до Raspberry Pi.

ЗАБЕЛЕЖКА : Ако не искате да имате достъп до вашия Raspberry Pi от разстояние чрез SSH или VNC, трябва да свържете монитор, клавиатура и мишка към вашия Raspberry Pi. Няма да се нуждая от нищо от това, тъй като ще свързвам Raspberry Pi от разстояние чрез VNC или SSH. Моята настройка се нарича безглавна настройка на Raspberry Pi.

Ако имате нужда от помощ при мигането на изображението на Raspberry Pi OS на microSD картата, проверете моята статия: Как да инсталирате и използвате Raspberry Pi Imager.



Ако сте начинаещ в Raspberry Pi и имате нужда от помощ при инсталирането на Raspberry Pi OS на вашия Raspberry Pi, проверете моята статия: Как да инсталирате Raspberry Pi OS на Raspberry Pi 4 .

Ако имате нужда от помощ при безглавната настройка на Raspberry Pi, проверете моята статия: Как да инсталирате и конфигурирате Raspberry Pi OS на Raspberry Pi 4 без външен монитор.

Ако имате нужда от помощ при свързването на модула на камерата Raspberry Pi към Raspberry Pi, проверете моята статия: Използване на модул за камера на Raspberry Pi .

Активиране на модула за камера на Raspberry Pi

Интерфейсът на камерата е деактивиран по подразбиране в Raspberry Pi OS. Можете да го активирате от инструмента за конфигуриране на Raspberry Pi, raspi-config .

Стартирайте инструмента за конфигуриране на Raspberry Pi със следната команда:

$ sudo raspi-config

Изберете Опции за интерфейс и натиснете .

Изберете Камера и натиснете .

Изберете и натиснете .

Натиснете .

Изберете и натиснете .

Изберете и натиснете . Вашият Raspberry Pi трябва да се рестартира и промените трябва да се приложат.

Инсталиране на VLC Media Player

VLC Media Player е достъпен в официалното хранилище на пакети на Raspberry Pi OS. Така че е лесно да го инсталирате на Raspberry Pi OS.

Първо, актуализирайте кеша на хранилището на APT пакета със следната команда:

$ sudo apt актуализация

За да инсталирате VLC Media Player, изпълнете следната команда:

$ sudo apt install vlc -y

VLC Media Player трябва да бъде инсталиран. В моя случай вече е инсталиран.

Създаване на сървър на камера с VLC Media Player

The распивид команда се използва за запис на видео от модула на камерата на Raspberry Pi. Обясних как се използва распивид команда за запис на видео с помощта на 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

The распивид команда се използва за запис на видео от модула на камерата Raspberry Pi.

Ето следното значение на командата по -долу:

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

Можете да промените някоя от тези опции, както сметнете за добре.

The 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 Camera

За достъп до емисията на камерата от други устройства във вашата домашна мрежа (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, както можете да видите на екрана по -долу.

Сега спрете сървъра на камерата, като натиснете + ° С .

Стартиране на сървъра на камерата при системно зареждане

Ръчното стартиране на сървъра на камерата всеки път, когато стартирате вашия Raspberry Pi, не е много практично. Така че, можем да създадем системна услуга за сървъра на камерата, която автоматично ще стартира сървъра на камерата при зареждане.

Първо, създайте a камера-поток- HTTP. Обслужване файл в /etc/systemd/system/ директория, както следва:

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

Въведете следните редове в camera-stream-http.service файл.

[Мерна единица]
Описание = Raspberry Pi Camera Streaming Server
След = network.target
[Обслужване]
WorkingDirectory =/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 = наследяване
Рестартиране = винаги
Потребител = pi
[Инсталирай]
WantedBy = многопотребителска цел

Можете да регулирате следните променливи на средата, за да конфигурирате сървъра на камерата, както сметнете за добре.

Околна среда = APP_RES_WIDTH = 800
Околна среда = APP_RES_HEIGHT = 450
Околна среда = APP_RES_FPS = 24
Околна среда = APP_PORT = 9000

След като приключите, натиснете + х следван от И, и за да запазите camera-stream-http.service файл.

Презаредете системните демони, за да влязат в сила промените, както следва:

$ sudo systemctl демон-презареждане

Както можете да видите, camera-stream-http услугата systemd не работи в момента.

$ sudo systemctl status camera-stream-http.service

Можете да стартирате camera-stream-http системна услуга със следната команда:

$ sudo systemctl стартира camera-stream-http.service

The camera-stream-http услугата трябва да е активна/работеща, както можете да видите на екрана по -долу. Така, camera-stream-http услугата systemd работи.

$ sudo systemctl status camera-stream-http.service

Можете да добавите camera-stream-http systemd услуга за стартиране на системата на Raspberry Pi OS със следната команда:

$ sudo systemctl активира камера-поток-http.service

За да влязат в сила промените, рестартирайте Raspberry Pi със следната команда:

$ sudo рестартиране

След като обувките ви на Raspberry Pi, camera-stream-http услугата systemd трябва да е активна/работеща, както можете да видите на екрана по -долу.

$ sudo systemctl статус raspi-home-automation.service

Заключение

В тази статия ви показах как да изградите камера за сигурност на Raspberry Pi и да получите достъп до видео емисията от вашата домашна мрежа (LAN) с помощта на VLC Media Player. Ако просто искате проста настройка на камерата за сигурност на Raspberry Pi, тази статия би трябвало да ви помогне да започнете.