Hur utför jag videostreaming med Raspberry Pi?
Raspberry Pi är en billig dator i fickformat som kräver grundläggande utrustning för att göra fascinerande projekt som kan användas i vårt dagliga liv för att göra vårt liv enklare. Ett SD-kort inbäddad i kortplatsen på brädet fungerar som Hårddisk för Raspberry Pi. De senaste Raspberry Pi-modellerna har vanligtvis tre till fyra USB-portar (Universal Serial Bus), en Ethernet-port och ett High Definition Multimedia Interface (HDMI). Det kan göra allt som du kan förvänta dig att en arbetsstation ska göra, som att spela en video av överlägsen kvalitet, göra kalkylblad, FM-radiostationer och spel etc. Livestreamande videokameror kan användas för säkerhet eller individuella ändamål. Webbkameror, videokameror, DSLR och spegelfria kameror för direktuppspelning av videor är lätt tillgängliga på marknaden men de är kostsamma. I det här projektet kommer vi att skapa en livestreamingkamera med Raspberry Pi som är en ekonomisk enhet som kan nås Wifi för. Vi skulle kunna se livestreaming på våra mobiltelefoner, surfplattor och stationära datorer.
Hur ställer jag in Pi-kamera för livestreaming?
Det bästa sättet att starta något projekt är att göra en lista över komponenter eftersom ingen vill sticka mitt i ett projekt bara på grund av en saknad komponent.
Steg 1: Komponenter krävs
Steg 2: Välja Raspberry Pi-modellen
Valet av Raspberry Pi är en mycket teknisk uppgift och det bör göras noggrant så att du inte lider i framtiden. Raspberry Pi Zero är inte att föredra eftersom det är den äldsta modellen som finns på marknaden med en begränsad mängd specifikationer och att skapa ett nätverk på det är ett mycket tröttsamt jobb. De senaste modellerna som 3A +, 3B + kan köpas. Raspberry Pi 3 är den snabbaste och mest dominerande gadgeten Raspberry Pi Foundation har släppt hittills. Så i det här projektet kommer vi att använda Raspberry Pi 3B +.
Steg 3: Ställa in Raspberry Pi
Det finns två alternativ för att ställa in Raspberry Pi. För det första är en att ansluta din Pi med LCD och ansluta alla nödvändiga kringutrustning och börja arbeta. Den andra är att ställa in Pi med den bärbara datorn och komma åt den på distans. Det beror på tillgången på LCD, om du har den hemma kan du ställa in din Pi med hjälp av en LCD. Anslut LCD-skärmen till Raspberrys HDMI-port med hjälp av HDMI till VGA-adaptern. Om du vill komma åt din Pi på distans, följ min artikel med namnet "Hur får jag tillgång till grafiskt användargränssnitt (GUI) för Raspberry Pi med SSH och VNC Viewer?".I den här artikeln beskrivs en detaljerad installation av Pi med en bärbar dator och efter inloggning skulle du kunna få fjärråtkomst till Pi.
Steg 4: Se till att Raspberry Pi är uppdaterad
Efter att ha installerat Raspberry Pi skulle vi se till att vår Pi fungerar bra och att alla de senaste paketen är installerade på den. Öppna kommandofönstret och skriv följande två kommandon för att uppdatera Pi.
sudo apt-get-uppdatering
Sedan,
sudo apt-get uppgradering
Om några uppdateringar är installerade, tryck på Y och tryck sedan på Stiga på för att fortsätta ladda ner uppdateringar.
Steg 5: Aktivera Raspberry Pi-kameramodulen
Vi måste aktivera Raspberry Pi-kameramodulen innan du använder den. Stäng kommandofönstret efter uppdatering av paketen och klicka på Raspberry-ikonen i det övre vänstra hörnet på skrivbordsskärmen. Rulla ner till Raspberry Pi-inställningar, klicka på alternativet Gränssnitt och aktivera Kamera därifrån.
Det kan också aktiveras genom att skriva följande kommando i Terminalfönster:
sudo raspi-config
Efter att ha skrivit detta kommando ser vi att Raspberry Pi Software Configuration Tool öppnas och bläddra ner till gränssnittsalternativ och tryck på Stiga på.
En ny skärm visas och vi skulle se Kamera nämns högst upp. Tryck enter:
Efter att ha aktiverat kameran måste Pi startas om för att ändringarna ska träda i kraft. Vi startar om vår Pi innan du fortsätter vidare och det kan göras genom att skriva följande kommando.
omstart av sudo
Steg 6: Notera IP-adressen till Pi
Vi måste komma åt videostreaming-webbservern senare, därför måste vi veta IP-adressen som tilldelats Raspberry Pi. Som vi redan har fått reda på IP-adressen när vi ställer in vår Pi noterar vi den och fortsätter vidare. Det finns ett alternativt sätt att ta reda på IP-adressen också och det är att skriva följande kommando i terminalfönstret efter att ha ställt in Wifi på vår Pi.
ifconfig
I mitt fall är IP-adressen som tilldelats min Pi "192.168.1.14“.
Steg 7: Ansluta kameramodulen
Nu är vi redo att ansluta vår kameramodul till Pi men innan du gör det, var medveten om att kameran kan skadas av elektricitet som produceras via statiska laddningar. Innan du tar ut kameran ur det grå paketet, se till att du har laddat ur dig själv genom att röra vid något jordningsmaterial. När du installerar kameran stänger du av Pi och ansluter kameran till CSI porten på Pi och se till att kameran är associerad i rätt riktning med de remsblå bokstäverna vända uppåt som visas i bilden nedan.
Steg 8: Letar efter lämpligt format för webbströmning
Det är lite tufft eftersom det inte finns några videoformat som stöds universellt av alla webbläsare. HTTP designades för att servera webbsidor från början och sedan lanseringen har många tillägg gjorts för nedladdning av cateringfiler, livestreaming etc. Därför, med tanke på denna fråga, skulle vi strömma vår video i ett enkelt format som heter MJPEG. Koden som nämns i nästa steg använder den inbyggda http.serverför att göra videostreaming mycket enklare. Ett lämpligt format med kod kan hittas på tjänstemannen Picamera hemsida.
Steg 9: Skriva manuset för videostreaming
Vi måste skriva manuset för videostreaming och det kan hittas på tjänstemannen PiCamerahemsida. Skapa först en ny fil som heterrpi_video_streaming.py genom att skriva följande kommando i terminalfönstret:
sudo nano rpi_video_streaming.py
När du har skapat filen kopierar du koden som nämns nedan eller laddar ner koden härifrån. Om du laddar ner koden från länken bläddrar du ner på webbsidan och kontrollerar 4.10. Webbströmning del.
import io import picamera importloggning import socketserver från trådning importvillkor från http importserver PAGE = "" "\picamera MJPEG-streamingdemo PiCamera MJPEG Streaming Demo
"" "klass StreamingOutput (objekt): def __init __ (själv): self.frame = Ingen self.buffer = io.BytesIO () self.condition = Villkor () def skriv (self, buf): om buf.startswith (b '\ xff \ xd8'): # Ny ram, kopiera det befintliga buffertens innehåll och meddela alla # klienter att det är tillgängligt self.buffer.truncate () med self.condition: self.frame = self.buffer.getvalue () self.condition .notify_all () self.buffer.seek (0) returnera self.buffer.write (buf) class 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-replace; boundary = FRAME ') self.end_headers () try: while True: with output.condition: output.condition.wait () frame = output.frame self.wfile.write (b' - FRAME \ r \ n ') self .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') utom undantag som e: logging.warning ('Borttagen streamingklient% s:% s', self.client_address, str (e)) annat: self.send_error (404) self.end_headers () class StreamingServer (socketserver.ThreadingMixIn, server.HTTPServer): allow_reuse_address = True daemon_threads = True med picamera.PiCamera (upplösning = '640x480', framerate = 24) som kamera: output = StreamingOutput () camera.start_recording (output, format = 'mjpeg ') try: address = (' ', 8000) server = StreamingServer (adress, StreamingHandler) server.serve_forever () äntligen: camera.stop_recording ()
Efter att ha klistrat in koden i den nya skapade filen, tryck Ctrl + X, typ Y och tryck Stiga på.
Steg 10: Köra videostreaming
Efter att ha sparat skriptet kör vi det med Python3 genom att skriva följande kommando:
python3 rpi_video_streaming.py
Efter att ha skrivit detta kommando kommer vårt skript att börja köras och nu kan vi komma åt vår webbserver på http: //
Steg 11: Ge sista handen
Eftersom vi har testat vår Pi-kamera och fått veta att den fungerar bra är vi redo att installera den på en lämplig plats. Det kan installeras nära porten till huset så att vi kan övervaka varje person som går in eller lämnar huset. Allt vi behöver är att driva PÅvår kamera med hjälp av adaptern och det skulle vara bättre att placera den i ett hölje och bara lämna kamerans sida öppen för videostreaming.
Applikationer
- Den kan installeras i bostäder av säkerhetsskäl.
- Den kan användas på kontor för att övervaka arbetstagarnas rörelse.
- Den kan installeras i köpcentra, järnvägsstationer osv. Och kan nås av administratörens personal för att kontrollera och balansera i ett specifikt område.