Bygg ett Raspberry Pi säkerhetskamera nätverk

Build Raspberry Pi Security Camera Network



Raspberry Pi officiella kameramodul kan användas som en säkerhetskamera. Du kan dela kameravideoströmmen i nätverket och få fjärråtkomst till den från vilken enhet som helst i ditt lokala nätverk (LAN).

Du kan använda VLC -mediaspelaren för att dela videoströmmen på en TCP -port och komma åt den från vilken enhet som helst i ditt lokala nätverk (LAN) med VLC -mediaspelare.







I den här artikeln kommer jag att visa dig hur du bygger en Raspberry Pi -säkerhetskamera och streamar videoflöde från Raspberry Pi med hjälp av VLC -mediaspelaren.



Så, låt oss komma igång!



Saker du behöver

För att följa den här artikeln behöver du följande saker:





  1. Raspberry Pi 3 eller Raspberry Pi 4
  2. Raspberry Pi kameramodul
  3. Micro-USB (Raspberry Pi 3) eller USB Type-C (Raspberry Pi 4) nätadapter
  4. 16 GB eller 32 GB MicroSD -kort med Raspberry Pi OS blinkade
  5. Nätverksanslutning på Raspberry Pi
  6. Bärbar dator eller en stationär dator för VNC fjärrskrivbord eller SSH -åtkomst till Raspberry Pi.

NOTERA : Om du inte vill komma åt din Raspberry Pi på distans via SSH eller VNC måste du också ansluta en bildskärm, ett tangentbord och en mus till din Raspberry Pi. Jag kommer inte behöva någon av dessa eftersom jag kommer att ansluta min Raspberry Pi på distans via VNC eller SSH. Min inställning kallas för huvudlös installation av Raspberry Pi.

Om du behöver hjälp med att blinka Raspberry Pi OS -bilden på microSD -kortet, läs min artikel: Så här installerar och använder du Raspberry Pi Imager.



Om du är en Raspberry Pi -nybörjare och behöver hjälp med att installera Raspberry Pi OS på din Raspberry Pi, kolla min artikel: Så här installerar du Raspberry Pi OS på Raspberry Pi 4 .

Om du behöver hjälp med den huvudlösa installationen av Raspberry Pi, läs min artikel: Så här installerar och konfigurerar du Raspberry Pi OS på Raspberry Pi 4 utan extern bildskärm.

Om du behöver hjälp med att ansluta Raspberry Pi -kameramodulen på Raspberry Pi, läs min artikel: Använda Raspberry Pi kameramodul .

Aktivera Raspberry Pi kameramodul

Kamerans gränssnitt är inaktiverat som standard på Raspberry Pi OS. Du kan aktivera det från Raspberry Pi -konfigurationsverktyget, raspi-config .

Starta konfigurationsverktyget för Raspberry Pi med följande kommando:

$ sudo raspi-config

Välj Gränssnittsalternativ och tryck på .

Välj Kamera och tryck på .

Välj och tryck på .

Tryck .

Välj och tryck på .

Välj och tryck på . Din Raspberry Pi bör starta om och ändringarna ska tillämpas.

Installera VLC Media Player

VLC Media Player finns i det officiella paketförvaret för Raspberry Pi OS. Så det är enkelt att installera det på Raspberry Pi OS.

Uppdatera först APT -paketets förvaringscache med följande kommando:

$ sudo apt uppdatering

Kör följande kommando för att installera VLC Media Player:

$ sudo apt installera vlc -y

VLC Media Player bör installeras. I mitt fall är den redan installerad.

Skapa en kameraserver med VLC Media Player

De raspivid kommando används för att spela in video från Raspberry Pi kameramodul. Jag har förklarat hur man använder raspivid kommando för att spela in en video med Raspberry Pi i min artikel Använda Raspberry Pi kameramodul .

VLC Media Player har en kommandoradsspelare cvlc . Du kan använda cvlc kommando för att dela en videoström på en TCP -port. I detta fall videoströmmen från Raspberry Pi -kameramodulen.

Kör följande kommando för att dela Raspberry Pi -kameravideo på en TCP -port med VLC Media Player:

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

De raspivid kommando används för att spela in videon från Raspberry Pi kameramodul.

Här är följande betydelse av kommandot nedan:

  • Videobredden kommer att vara 1920 pixlar
  • Videohöjden kommer att vara 1080 pixlar ( -h 1080 ).
  • Videon vänds horisontellt ( -hf ).
  • Videon spelas in med 30 bilder per sekund ( -fps 30 ).
  • Videon spelas in under ett obegränsat antal sekunder ( -t 0 ).
  • Videoströmmen kommer att skrivas ut på terminalen istället för att spara den på fil ( -eller - ).

Du kan ändra något av dessa alternativ efter eget tycke.

De cvlc kommando används för att öppna en TCP -port och skicka Raspberry Pi -kamerans videoflöde till TCP -porten.

Videoflöden är hämtad från standardingången ( ström: /// dev/stdin ) på terminalen (med hjälp av ett rör | ).

VLC kommer att använda TS -codec för multiplexing ( –Sout ‘#standard {…, mux = ts,…}’ ) inmatningsvideoflöde och H264 -codec för demultiplexing ( : demux = h264 ) videoutmatningen.

Videoströmmen kommer att finnas tillgänglig på HTTP -porten 9000 ( –Sout ‘#standard {access = http,…, dst =: 9000}’ ).

När du har kört kommandot och buffringen är klar kan du strömma videon från vilken enhet som helst i nätverket med VLC Media Player.

Strömning av kameraflöde från Raspberry Pi kameraserver

För att komma åt kameraflödet från andra enheter i ditt hemnätverk (LAN) måste du veta IP -adressen för din Raspberry Pi.

Du hittar IP -adressen för din Raspberry Pi från webbhanteringsgränssnittet i din hemrouter. I mitt fall är IP -adressen 192.168.0.103. Det blir annorlunda för dig. Så se till att ersätta den med din från och med nu.

Om du har tillgång till Raspberry Pi -konsolen kan du också köra följande kommando för att hitta IP -adressen.

$ värdnamn -I

När du vet IP -adressen för din Raspberry Pi öppnar du VLC Media Player -appen och går till Halv > Öppna nätverksström ... som visas på skärmdumpen nedan.

Skriv in webbadressen till kameraservern i Ange en nätverksadress sektion. I mitt fall är URL: en http://192.168.0.103:9000 .

När du har skrivit in webbadressen klickar du på Spela .

VLC Media Player bör börja strömma videoflöden från Raspberry Pi, som du kan se på skärmdumpen nedan.

Stoppa nu kameraservern genom att trycka på + C .

Starta kameraservern vid systemstart

Att starta kameraservern manuellt varje gång, du startar din Raspberry Pi är inte särskilt praktisk. Så vi kan skapa en systemtjänst för kameraservern som automatiskt startar kameraservern vid start.

Skapa först en kameraström- HTTP. Service filen i /etc/systemd/system/ katalog enligt följande:

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

Skriv in följande rader i kamera-ström-http.service fil.

[Enhet]
Beskrivning = Raspberry Pi Camera Streaming Server
Efter = network.target
[Service]
WorkingDirectory =/home/pi
Miljö = APP_RES_WIDTH = 800
Miljö = APP_RES_HEIGHT = 450
Miljö = APP_RES_FPS = 24
Miljö = 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 -ström: /// dev/stdin
--sout '#standard {access = http, mux = ts, dst =: $ APP_PORT}': demux = h264 '
StandardOutput = ärva
StandardError = ärva
Starta om = alltid
Användare = pi
[Installera]
WantedBy = multi-user.target

Du kan justera följande miljövariabler för att konfigurera kameraservern efter eget tycke.

Miljö = APP_RES_WIDTH = 800
Miljö = APP_RES_HEIGHT = 450
Miljö = APP_RES_FPS = 24
Miljö = APP_PORT = 9000

När du är klar trycker du på + X följd av OCH, och för att spara kamera-ström-http.service fil.

Ladda om systemd -demonerna för att ändringarna ska träda i kraft enligt följande:

$ sudo systemctl daemon-reload

Som du kan se, kamera-ström-http systemd -tjänsten körs inte för tillfället.

$ sudo systemctl status kamera-stream-http.service

Du kan starta kamera-ström-http systemtjänst med följande kommando:

$ sudo systemctl starta kamera-stream-http.service

De kamera-ström-http tjänsten ska vara aktiv/igång, som du kan se på skärmdumpen nedan. Så, kamera-ström-http systemd -tjänsten fungerar.

$ sudo systemctl status kamera-stream-http.service

Du kan lägga till kamera-ström-http systemd -tjänst till systemstart av Raspberry Pi OS med följande kommando:

$ sudo systemctl aktivera camera-stream-http.service

För att ändringarna ska träda i kraft startar du om din Raspberry Pi med följande kommando:

$ sudo starta om

När dina Raspberry Pi -stövlar väl är kamera-ström-http systemd -tjänsten ska vara aktiv/igång, som du kan se på skärmdumpen nedan.

$ sudo systemctl status raspi-home-automation.service

Slutsats

I den här artikeln har jag visat dig hur du bygger en Raspberry Pi -säkerhetskamera och får åtkomst till videoflöden från ditt hemnätverk (LAN) med VLC Media Player. Om du bara vill ha en enkel installation av Raspberry Pi -säkerhetskamera bör den här artikeln hjälpa dig att komma igång.