Den offisielle Raspberry Pi-kameramodulen kan brukes som sikkerhetskamera. Du kan dele videostrømmen fra kameraet i nettverket og få tilgang til det eksternt fra hvilken som helst enhet i ditt lokale nettverk (LAN).
Du kan bruke VLC mediespilleren til å dele videostrømmen på en TCP-port og få tilgang til den fra hvilken som helst enhet på ditt lokale nettverk (LAN) ved hjelp av VLC mediespiller.
I denne artikkelen vil jeg vise deg hvordan du bygger et Raspberry Pi-sikkerhetskamera og strømmer kameravideo-feedet fra Raspberry Pi ved hjelp av VLC mediespiller.
Så la oss komme i gang!
Ting du trenger
For å følge denne artikkelen trenger du følgende ting:
- Raspberry Pi 3 eller Raspberry Pi 4
- Raspberry Pi kameramodul
- Micro-USB (Raspberry Pi 3) eller USB Type-C (Raspberry Pi 4) strømadapter
- 16 GB eller 32 GB MicroSD-kort med Raspberry Pi OS blinket
- Nettverkstilkobling på Raspberry Pi
- Bærbar eller stasjonær datamaskin for VNC eksternt skrivebord eller SSH-tilgang til Raspberry Pi.
MERK: Hvis du ikke vil få tilgang til Raspberry Pi eksternt via SSH eller VNC, må du også koble en skjerm, et tastatur og en mus til din Raspberry Pi. Jeg trenger ikke noen av disse, da jeg vil koble Raspberry Pi eksternt via VNC eller SSH. Oppsettet mitt kalles hodeløst oppsett av Raspberry Pi.
Hvis du trenger hjelp til å blinke Raspberry Pi OS-bildet på microSD-kortet, kan du sjekke artikkelen min: Slik installerer og bruker du Raspberry Pi Imager.
Hvis du er en Raspberry Pi-nybegynner og trenger hjelp med å installere Raspberry Pi OS på din Raspberry Pi, kan du sjekke artikkelen min: Slik installerer du Raspberry Pi OS på Raspberry Pi 4.
Hvis du trenger hjelp med hodeløs oppsett av Raspberry Pi, kan du sjekke artikkelen min: Slik installerer og konfigurerer du Raspberry Pi OS på Raspberry Pi 4 uten ekstern skjerm.
Hvis du trenger hjelp til å koble til Raspberry Pi-kameramodulen på Raspberry Pi, kan du sjekke artikkelen min: Bruker Raspberry Pi kameramodul.
Aktivering av Raspberry Pi kameramodul
Kameragrensesnittet er deaktivert som standard på Raspberry Pi OS. Du kan aktivere det fra Raspberry Pi-konfigurasjonsverktøyet, raspi-config.
Start Raspberry Pi-konfigurasjonsverktøyet med følgende kommando:
$ sudo raspi-config
Å velge Grensesnittalternativer og trykk
Å velge Kamera og trykk
Å velge
trykk
Å velge
Å velge
Installere VLC Media Player
VLC Media Player er tilgjengelig i det offisielle pakkelageret til Raspberry Pi OS. Så det er enkelt å installere det på Raspberry Pi OS.
Oppdater først APT-pakkelagerbufferen med følgende kommando:
$ sudo apt oppdatering
For å installere VLC Media Player, kjør følgende kommando:
$ sudo apt installere vlc -y
VLC Media Player skal installeres. I mitt tilfelle er den allerede installert.
Opprette en kameraserver med VLC Media Player
De raspivid kommandoen brukes til å ta opp video fra Raspberry Pi kameramodulen. Jeg har forklart hvordan du bruker raspivid kommando for å spille inn en video ved hjelp av Raspberry Pi i artikkelen min Bruker Raspberry Pi kameramodul.
VLC Media Player har en kommandolinjespiller cvlc. Du kan bruke cvlc kommando for å dele en videostrøm på en TCP-port. I dette tilfellet videostrømmen til Raspberry Pi-kameramodulen.
For å dele Raspberry Pi-kameraets videofeed på en TCP-port ved hjelp av VLC Media Player, kjør følgende kommando:
$ raspivid -o - -t 0 -hf -w 1920 -h 1080 -fps 30 | cvlc -vvv stream: /// dev / stdin--sout '#standard access = http, mux = ts, dst =: 9000': demux = h264
De raspivid kommandoen brukes til å spille inn videoen fra Raspberry Pi kameramodulen.
Her er følgende betydning av kommandoen nedenfor:
- Videobredden vil være 1920 piksler
- Videohøyden vil være 1080 piksler (-h 1080).
- Videoen blir snudd vannrett (-hf).
- Videoen blir tatt opp med 30 bilder per sekund (-fps 30).
- Videoen blir spilt inn i et ubegrenset antall sekunder (-t 0).
- Videostrømmen skrives ut på terminalen i stedet for å lagre den i filen (-o -).
Du kan endre noen av disse alternativene etter eget ønske.
De cvlc kommandoen brukes til å åpne en TCP-port og sende Raspberry Pi-kameraets videofeed på TCP-porten.
Videofeeden er hentet fra standardinngangen (stream: /// dev / stdin) av terminalen (ved hjelp av et rør |).
VLC vil bruke TS-kodeken for multipleksing (-sout '#standard …, mux = ts,…') input video feed, og H264 codec for demultiplexing (: demux = h264) utgangsvideofeeden.
Videostrømmen vil være tilgjengelig på HTTP-port 9000 (-sout '#standard access = http,…, dst =: 9000').
Når du har kjørt kommandoen og bufferen er fullført, kan du streame videoen fra hvilken som helst enhet i nettverket ved hjelp av VLC Media Player.
Streaming av kameramat fra Raspberry Pi Camera Server
For å få tilgang til kamerafeeden fra andre enheter i hjemmenettverket ditt (LAN), må du vite IP-adressen til Raspberry Pi.
Du finner IP-adressen til din Raspberry Pi fra nettadministrasjonsgrensesnittet til hjemmeruteren din. I mitt tilfelle er IP-adressen 192.168.0.103. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.
Hvis du har tilgang til Raspberry Pi-konsollen, kan du kjøre følgende kommando for å finne IP-adressen også.
$ vertsnavn -I
Når du vet IP-adressen til Raspberry Pi, åpner du VLC Media Player-appen og går til Media > Åpne nettverksstrøm .. som vist på skjermbildet nedenfor.
Skriv inn URL-adressen til kameraserveren i Vennligst skriv inn en nettverks-URL seksjon. I mitt tilfelle er URL-en http: // 192.168.0.103: 9000.
Når du har skrevet inn URL-en, klikker du på Spille.
VLC Media Player skal begynne å streame videofeeden fra Raspberry Pi, som du kan se på skjermbildet nedenfor.
Stopp nå kameraserveren ved å trykke på
Starter kameraserveren ved systemstart
Manuell start av kameraserveren hver gang du starter Raspberry Pi er ikke veldig praktisk. Så vi kan opprette en systemtjeneste for kameraserveren som automatisk starter kameraserveren ved oppstart.
Opprett først en kamera-strøm-HTTP. Service filen i / etc / systemd / system / katalog som følger:
$ sudo nano / etc / systemd / system / camera-stream-http.service
Skriv inn følgende linjer i kamera-stream-http.service fil.
[Enhet]Beskrivelse = Raspberry Pi Camera Streaming Server
Etter = nettverk.mål
[Service]
WorkingDirectory = / hjem / 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 stream: /// dev / stdin
--sout "#standard access = http, mux = ts, dst =: $ APP_PORT": demux = h264 '
Standardutgang = arve
StandardError = arve
Start på nytt = alltid
Bruker = pi
[Installere]
WantedBy = flerbruker.mål
Du kan justere følgende miljøvariabler for å konfigurere kameraserveren etter eget ønske.
Miljø = APP_RES_WIDTH = 800Miljø = APP_RES_HEIGHT = 450
Miljø = APP_RES_FPS = 24
Miljø = APP_PORT = 9000
Når du er ferdig, trykk
Last systemdemonene på nytt for at endringene skal tre i kraft som følger:
$ sudo systemctl daemon-reload
Som du kan se, er kamera-stream-http systemd-tjenesten kjører for øyeblikket ikke.
$ sudo systemctl status kamera-stream-http.service
Du kan starte kamera-stream-http systemtjeneste med følgende kommando:
$ sudo systemctl start camera-stream-http.service
De kamera-stream-http tjenesten skal være aktiv / kjører, som du kan se på skjermbildet nedenfor. Så, kamera-stream-http systemd-tjenesten fungerer.
$ sudo systemctl status kamera-stream-http.service
Du kan legge til kamera-stream-http systemtjeneste til systemoppstart av Raspberry Pi OS med følgende kommando:
$ sudo systemctl aktiver kamera-stream-http.service
For at endringene skal tre i kraft, må du starte Raspberry Pi på nytt med følgende kommando:
$ sudo omstart
Når Raspberry Pi har startet, er kamera-stream-http systemd-tjenesten skal være aktiv / kjører, som du kan se på skjermbildet nedenfor.
$ sudo systemctl status raspi-hjemme-automatisering.service
Konklusjon
I denne artikkelen har jeg vist deg hvordan du bygger et Raspberry Pi-sikkerhetskamera og får tilgang til videofeeden fra hjemmenettverket ditt (LAN) ved hjelp av VLC Media Player. Hvis du bare vil ha et enkelt Raspberry Pi-sikkerhetskameraoppsett, bør denne artikkelen hjelpe deg i gang.