Paano Gumawa ng Video Streaming Gamit ang Raspberry Pi?

Paano Gumawa ng Video Streaming Gamit ang Raspberry Pi? '' ' klase StreamingOutput(bagay): def __sa loob__(sarili): sarili.frame = Wala sarili.buffer = Ako.BytesIO() sarili.kalagayan = Kundisyon() def sumulat(sarili, tagabili): kung tagabili.startswith(b' xff xd8'): # Bagong frame, kopyahin ang nilalaman ng umiiral na buffer at ipaalam sa lahat # kliyente magagamit ito sarili.buffer.putulin() kasama sarili.kalagayan: sarili.frame = sarili.buffer.getvalue() sarili.kalagayan.ipagbigay-alam sa lahat() sarili.buffer.Maghanap(0) bumalik ka sarili.buffer.sumulat(tagabili) klase StreamingHandler(server.BaseHTTPRequestHandler): def gawin_GET(sarili): kung sarili.landas == '/': sarili.send_response(301) sarili.send_header('Lokasyon', '/index.html') sarili.end_headers() elif sarili.landas == '/index.html': nilalaman = PAHINA.i-encode('utf-8') sarili.send_response(200) sarili.send_header('Uri ng Nilalaman', 'text / html') sarili.send_header('Haba ng Nilalaman', len(nilalaman)) sarili.end_headers() sarili.wfile.sumulat(nilalaman) elif sarili.landas == '/stream.m.jpg': sarili.send_response(200) sarili.send_header('Edad', 0) sarili.send_header('Cache-Control', 'no-cache, pribado') sarili.send_header('Pragma', 'walang-cache') sarili.send_header('Uri ng Nilalaman', 'multipart / x-halo-halong; hangganan = FRAME ') sarili.end_headers() subukan mo: habang Totoo: kasama output.kalagayan: output.kalagayan.teka() frame = output.frame sarili.wfile.sumulat(b'--FRAME r n') sarili.send_header('Uri ng Nilalaman', 'imahe / jpeg') sarili.send_header('Haba ng Nilalaman', len(frame)) sarili.end_headers() sarili.wfile.sumulat(frame) sarili.wfile.sumulat(b' r n') maliban sa Pagbubukod bilang ay: pagtotroso.babala( 'Inalis ang streaming client% s:% s', sarili.client_address, str(ay)) iba pa: sarili.send_error(404) sarili.end_headers() klase StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer): allow_reuse_address = Totoo daemon_threads = Totoo kasama picamera.PiCamera(resolusyon='640x480', frame rate=24) bilang camera: output = StreamingOutput() camera.simulan ang recording(output, format='mjpeg') subukan mo: address = (', 8000) server = StreamingServer(address, StreamingHandler) server.maglingkod_pauna() sa wakas: camera.ihinto ang pagre-record()

Matapos i-paste ang code sa bagong file nilikha press Ctrl + X, uri AT at pindutin Pasok



Hakbang 10: Pagpapatakbo ng Video Streaming

Pagkatapos i-save ang script ay tatakbo namin ito gamit ang Python3 sa pamamagitan ng pag-type ng sumusunod na utos:

 python3 rpi_video_streaming.py 

Matapos isulat ang utos na ito ang aming script ay magsisimulang tumakbo at ngayon ay maaari naming ma-access ang aming web server sa http: //: 8000 . Bubuksan namin ang browser at i-paste ang link dito at gagamitin ang IP address na nakatalaga sa aming Pi ng router. Makakarating kami sa streaming ng video sa pamamagitan ng aming cellphone, tablet, atbp na mayroong isang naka-install na browser dito at nauugnay sa isang katulad na network bilang aming Pi. Sinulat ko, '192.168.1.14:8000' para sa pagpapatakbo ng streaming ng video.



Hakbang 11: Pagbibigay ng Pangwakas na Mga Pag-ugnay

Tulad ng nasubukan namin ang aming Pi camera at nalaman na ito ay gumagana nang maayos handa kaming i-install ito sa isang naaangkop na lugar. Maaari itong mai-install malapit sa gate ng bahay upang masubaybayan namin ang bawat tao na papasok o papalabas ng bahay. Ang kailangan lang natin ay ang kapangyarihan ON na ang aming camera sa pamamagitan ng paggamit ng adapter at mas mainam na ilagay ito sa loob ng isang pambalot at iwanang bukas ang gilid ng camera para sa streaming ng video.



Mga Aplikasyon

  1. Maaari itong mai-install sa mga tahanan para sa mga layunin sa seguridad.
  2. Maaari itong magamit sa mga tanggapan para sa pagsubaybay sa paggalaw ng empleyado.
  3. Maaari itong mai-install sa mga shopping mall, istasyon ng riles, atbp at mai-access ng tauhan ng administrasyon upang magkaroon ng tseke at balanse sa isang tukoy na lugar.