Paano Gumawa ng Video Streaming Gamit ang Raspberry Pi?'' 'klaseStreamingOutput(bagay):def__sa loob__(sarili):sarili.frame=Walasarili.buffer=Ako.BytesIO()sarili.kalagayan=Kundisyon()defsumulat(sarili,tagabili):kungtagabili.startswith(b' xff xd8'):# Bagong frame, kopyahin ang nilalaman ng umiiral na buffer at ipaalam sa lahat# kliyente magagamit itosarili.buffer.putulin()kasamasarili.kalagayan:sarili.frame=sarili.buffer.getvalue()sarili.kalagayan.ipagbigay-alam sa lahat()sarili.buffer.Maghanap(0)bumalik kasarili.buffer.sumulat(tagabili)klaseStreamingHandler(server.BaseHTTPRequestHandler):defgawin_GET(sarili):kungsarili.landas=='/':sarili.send_response(301)sarili.send_header('Lokasyon','/index.html')sarili.end_headers()elifsarili.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)elifsarili.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:habangTotoo:kasamaoutput.kalagayan:output.kalagayan.teka()frame=output.framesarili.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 saPagbubukodbilangay:pagtotroso.babala('Inalis ang streaming client% s:% s',sarili.client_address,str(ay))iba pa:sarili.send_error(404)sarili.end_headers()klaseStreamingServer(socketserver.ThreadingMixIn,server.HTTPServer):allow_reuse_address=Totoodaemon_threads=Totookasamapicamera.PiCamera(resolusyon='640x480',frame rate=24)bilangcamera: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
Maaari itong mai-install sa mga tahanan para sa mga layunin sa seguridad.
Maaari itong magamit sa mga tanggapan para sa pagsubaybay sa paggalaw ng empleyado.
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.