Hvordan utføre videostreaming ved hjelp av Raspberry Pi?

Raspberry Pi er en billig datamaskin i lommestørrelse som krever noe grunnleggende utstyr for å lage fascinerende prosjekter som kan brukes i vårt daglige liv for å gjøre livet vårt enklere. An SD kort innebygd i kortsporet på brettet fungerer som Harddisk for Raspberry Pi. De nyeste Raspberry Pi-modellene har vanligvis tre til fire USB-porter (Universal Serial Bus), en Ethernet-port og et High Definition Multimedia Interface (HDMI). Det kan gjøre alt du forventer at en arbeidsstasjon skal gjøre, som å spille av video av overlegen kvalitet, lage regneark, FM-radiostasjoner og spill osv. Live videokameraer kan brukes til sikkerhet eller individuelle formål. Webkameraene, videokameraene, speilreflekskameraene og speilløse kameraene for live videostreaming er lett tilgjengelige i markedet, men de er kostbare. I dette prosjektet vil vi lage et live streaming kamera med Raspberry Pi som er en økonomisk enhet som kan nås Wifi også. Vi vil kunne se live videostreaming på mobiltelefoner, nettbrett og stasjonære PC-er.

Hvordan sette opp Pi-kamera for live streaming?

Den beste tilnærmingen for å starte et prosjekt er å lage en liste over komponenter fordi ingen vil ønske å holde seg midt i et prosjekt bare på grunn av en manglende komponent.

Trinn 1: Nødvendige komponenter

Trinn 2: Velge Raspberry Pi-modellen

Valget av Raspberry Pi er en veldig teknisk oppgave, og det bør gjøres nøye slik at du ikke lider i fremtiden. Raspberry Pi Zero er ikke å foretrekke fordi den er den eldste modellen som er tilgjengelig i markedet med en begrenset mengde spesifikasjoner, og det er en veldig slitsom jobb å sette opp et nettverk på den. De nyeste modellene som 3A +, 3B + kan kjøpes. Raspberry Pi 3 er den raskeste og mest dominerende gadgeten Raspberry Pi Foundation har gitt ut hittil. Så i dette prosjektet vil vi bruke Raspberry Pi 3B +.

Trinn 3: Sette opp Raspberry Pi

Det er to alternativer for å sette opp Raspberry Pi. Først er det å koble Pi-en din til LCD og koble til alt nødvendig utstyr og begynne å jobbe. Den andre er å sette opp Pi med den bærbare datamaskinen og få tilgang til den eksternt. Det avhenger av tilgjengeligheten av LCD, hvis du har den hjemme, kan du konfigurere Pi-en din ved hjelp av en LCD. Koble LCD-skjermen til HDMI-porten på bringebæret ved å bruke HDMI til VGA-adapter. Hvis du vil få tilgang til din Pi eksternt, følg artikkelen min med navnet “Hvordan få tilgang til grafisk brukergrensesnitt (GUI) for Raspberry Pi ved hjelp av SSH og VNC Viewer?”.I denne artikkelen er et detaljert oppsett av Pi med en bærbar PC beskrevet, og etter innlogging vil du kunne få ekstern tilgang til Pi.

Trinn 4: Forsikre deg om at Raspberry Pi er oppdatert

Etter å ha satt opp Raspberry Pi, vil vi sørge for at Pi-en vår fungerer bra, og at alle de nyeste pakkene er installert på den. Åpne kommandovinduet og skriv inn følgende to kommandoer for å oppdatere Pi.

sudo apt-get oppdatering

Deretter,

sudo apt-get oppgradering

Hvis det er installert oppdateringer, trykker du på Y og trykk deretter på Tast inn for å fortsette nedlasting av oppdateringer.

Trinn 5: Aktivering av Raspberry Pi-kameramodulen

Vi må aktivere Raspberry Pi-kameramodulen før du bruker den. Lukk kommandovinduet etter oppdatering av pakkene, og klikk på Raspberry-ikonet øverst til venstre på skrivebordet. Rull ned til Raspberry Pi-innstillinger, klikk på grensesnittalternativet og aktiver Kamera derfra.

Det kan også aktiveres ved å skrive følgende kommando i Terminalvindu:

sudo raspi-config

Etter å ha skrevet denne kommandoen vil vi se at Raspberry Pi programvarekonfigurasjonsverktøy åpnes og bla ned til Grensesnittalternativer og trykk Tast inn.

En ny skjerm vises, og vi vil se Kamera nevnt på toppen. Trykk enter:

Etter at kameraet er aktivert, må Pi startes på nytt for at endringene skal tre i kraft. Vi starter Pi-en på nytt før vi fortsetter videre, og det kan gjøres ved å skrive følgende kommando.

sudo omstart

Trinn 6: Merk deg IP-adressen til Pi

Vi trenger tilgang til videostreaming-webserveren senere, derfor må vi vite IP-adressen som er tildelt Raspberry Pi. Som vi allerede har funnet ut IP-adressen mens vi setter opp Pi-en vår, noterer vi den og fortsetter videre. Det er en alternativ måte å finne ut IP-adressen også, og det er å skrive følgende kommando i Terminal-vinduet etter å ha satt opp Wifi på Pi.

ifconfig

I mitt tilfelle er IP-adressen som er tildelt Pi-en min "192.168.1.14“.

Trinn 7: Koble til kameramodulen

Nå er vi klare til å koble kameramodulen vår til Pi, men før du gjør det, vær oppmerksom på at kameraet kan bli skadet av strøm produsert via statiske ladninger. Før du tar ut kameraet fra den grå pakken, må du sørge for at du har tømt deg selv ved å berøre noe jordingsmateriale. Mens du installerer kameraet, må du slå av Pi og koble kameraet til CSI porten på Pi og sørg for at kameraet er assosiert i riktig retning med de stripeblå bokstavene vendt oppover som vist i figuren nedenfor.

Trinn 8: Ser etter egnet format for web-streaming

Det er en litt tøff oppgave fordi det ikke er noen videoformater som støttes universelt av alle nettleserne. HTTP ble designet for å betjene nettsider i utgangspunktet, og siden lanseringen har det blitt gjort mange tillegg for nedlasting av cateringfiler, live streaming osv. Derfor, med tanke på dette problemet, vil vi streame videoen vår i et enkelt format som heter MJPEG. Koden som er nevnt i neste trinn bruker den innebygde http.servermodul for å gjøre videostreaming mye enklere. Et passende format med kode finner du hos tjenestemannen Picamera nettsted.

Trinn 9: Skrive skriptet for videostreaming

Vi må skrive manuset for videostreaming, og det kan bli funnet på den offisielle PiCameranettsted. Opprett først en ny fil som heterrpi_video_streaming.py ved å skrive følgende kommando i terminalvinduet:

sudo nano rpi_video_streaming.py

Etter å ha opprettet filen, kopier koden som er nevnt nedenfor, eller last ned koden herfra. Hvis du laster ned koden fra lenken, blar du nedover på websiden og sjekker 4.10. Nettstrømming del.

import io import picamera import logging import socketserver from threading import Betingelse fra http import server PAGE = "" "\   picamera MJPEG streaming demo   

PiCamera MJPEG Streaming Demo

"" "klasse StreamingOutput (object): def __init __ (self): self.frame = None self.buffer = io.BytesIO () self.condition = Condition () def write (self, buf): if buf.startswith (b '\ xff \ xd8'): # Ny ramme, kopier innholdet på den eksisterende bufferen og varsle alle # klienter om at den er tilgjengelig self.buffer.truncate () med self.condition: self.frame = self.buffer.getvalue () self.condition .notify_all () self.buffer.seek (0) returner self.buffer.write (buf) klasse StreamingHandler (server.BaseHTTPRequestHandler): def do_GET (self): if self.path == '/': self.send_response (301 ) self.send_header ('Location', '/index.html') self.end_headers () elif self.path == '/index.html': content = PAGE.encode ('utf-8') self.send_response ( 200) self.send_header ('Content-Type', 'text / html') self.send_header ('Content-Length', len (content)) self.end_headers () self.wfile.write (content) elif self.path == '/stream.mjpg': self.send_response (200) self.send_header ('Age', 0) self.send_header ('Cache-Control', 'no-cache, private') self.send_header ('P ragma ',' no-cache ') self.send_header (' Content-Type ',' multipart / x-mixed-erstatt; border = FRAME ') self.end_headers () prøv: mens True: med output.condition: output.condition.wait () frame = output.frame self.wfile.write (b' - FRAME \ r \ n ') selv .send_header ('Content-Type', 'image / jpeg') self.send_header ('Content-Length', len (frame)) self.end_headers () self.wfile.write (frame) self.wfile.write (b '\ r \ n') unntatt Unntak som e: logging.warning ('Fjernet streamingklient% s:% s', self.client_address, str (e)) annet: self.send_error (404) self.end_headers () class StreamingServer (socketserver.ThreadingMixIn, server.HTTPServer): allow_reuse_address = True daemon_threads = True med picamera. PiCamera (oppløsning = '640x480', framerate = 24) som kamera: output = StreamingOutput () camera.start_recording (output, format = 'mjpeg ') prøv: adresse = (' ', 8000) server = StreamingServer (adresse, StreamingHandler) server.serve_forever () til slutt: camera.stop_recording ()

Etter å ha limt inn koden i den nye filen som er opprettet, trykk Ctrl + X, type Y og trykk Tast inn.

Trinn 10: Kjøre videostreaming

Etter å ha lagret skriptet, kjører vi det ved hjelp av Python3 ved å skrive følgende kommando:

python3 rpi_video_streaming.py

Etter å ha skrevet denne kommandoen, begynner skriptet å kjøre, og nå kan vi få tilgang til webserveren vår på http: //:8000. Vi åpner nettleseren og limer lenken inn i den og bruker IP-adressen som er tildelt Pi-en vår av ruteren. Vi kan komme til videostreaming via mobiltelefonen, nettbrettet osv. Som har en nettleser installert og tilknyttet et lignende nettverk som Pi. Jeg skrev, “192.168.1.14:8000” for å kjøre videostreaming.

Trinn 11: Gi siste hånd

Da vi har testet Pi-kameraet vårt og ble kjent med at det fungerer bra, er vi klare til å installere det på et passende sted. Det kan installeres i nærheten av porten til huset, slik at vi kan overvåke alle personer som kommer inn eller ut av huset. Alt vi trenger er å drive kameraet vårt ved hjelp av adapteren, og det ville være bedre å plassere det i et deksel og bare la kamerasiden være åpen for videostreaming.

applikasjoner

  1. Den kan installeres i hjem av sikkerhetshensyn.
  2. Den kan brukes på kontorer for å overvåke ansattes bevegelse.
  3. Den kan installeres i kjøpesentre, jernbanestasjoner osv. Og kan nås av administrasjonspersonalet for å kontrollere og balansere i et bestemt område.
Facebook Twitter Google Plus Pinterest