Hur utför man videostreaming med Raspberry Pi?

Hur utför man videostreaming med Raspberry Pi? '' ' klass StreamingOutput(objekt): def __i det__(själv): själv.ram = Ingen själv.buffert = Jag.BytesIO() själv.skick = Skick() def skriva(själv, buf): om buf.börjar med(b'' xff xd8''): # Ny ram, kopiera den befintliga buffertens innehåll och meddela alla # klienter det är tillgängligt själv.buffert.stympa() med själv.skick: själv.ram = själv.buffert.getvalue() själv.skick.meddela_all() själv.buffert.söka(0) lämna tillbaka själv.buffert.skriva(buf) klass StreamingHandler(server.BaseHTTPRequestHandler): def får(själv): om själv.väg == '/': själv.send_response(301) själv.send_header('Plats', '/index.html') själv.end_headers() elif själv.väg == '/index.html': innehåll = SIDA.koda('utf-8') själv.send_response(200) själv.send_header('Innehållstyp', 'text / html') själv.send_header('Innehållslängd', len(innehåll)) själv.end_headers() själv.wfile.skriva(innehåll) elif själv.väg == '/stream.mjpg': själv.send_response(200) själv.send_header('Ålder', 0) själv.send_header('Cache-Control', 'inget cache, privat') själv.send_header('Pragma', 'no-cache') själv.send_header('Innehållstyp', 'multipart / x-blandad-ersätt; gräns = FRAME ') själv.end_headers() Prova: medan Sann: med produktion.skick: produktion.skick.vänta() ram = produktion.ram själv.wfile.skriva(b'--RAM r n'') själv.send_header('Innehållstyp', 'image / jpeg') själv.send_header('Innehållslängd', len(ram)) själv.end_headers() själv.wfile.skriva(ram) själv.wfile.skriva(b'' r n'') bortsett från Undantag som är: skogsavverkning.varning( 'Borttagen streamingklient% s:% s'', själv.klientadress, str(är)) annan: själv.send_error(404) själv.end_headers() klass StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer): allow_reuse_address = Sann daemon_threads = Sann med picamera.PiCamera(upplösning='640x480', framerate=24) som kamera: produktion = StreamingOutput() kamera.börja spela in(produktion, formatera='mjpeg') Prova: adress = ('', 8000) server = StreamingServer(adress, StreamingHandler) server.serve_forever() till sist: kamera.stopp_inspelning()

Efter att ha klistrat in koden i den nya filen som skapats, tryck Ctrl + X, typ OCH och tryck Stiga på.



Steg 10: Köra videostreaming

Efter att ha sparat skriptet kommer vi att köra det med Python3 genom att skriva följande kommando:

 python3 rpi_video_streaming.py 

Efter att ha skrivit det här kommandot kommer vårt skript att börja köras och nu kan vi komma åt vår webbserver på http: //: 8000 . Vi öppnar webbläsaren och klistrar in länken i den och använder IP-adressen som routern tilldelar vår Pi. Vi kan komma till videostreaming via vår mobiltelefon, surfplatta, etc som har en webbläsare installerad och associerad med ett liknande nätverk som vår Pi. Jag skrev, '192.168.1.14:8000' för att köra videostreaming.



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

  1. Den kan installeras i bostäder av säkerhetsskäl.
  2. Den kan användas på kontor för att övervaka medarbetarrörelsen.
  3. Den kan installeras i köpcentra, järnvägsstationer osv. Och kan nås av administrationens personal för att få kontroll och balans i ett specifikt område.