Ako vykonať streamovanie videa pomocou maliny Pi?

Ako vykonať streamovanie videa pomocou maliny Pi? '' ' trieda StreamingOutput(objekt): def __init__(ja): ja.rám = Žiadne ja.nárazník = Ja.BytesIO() ja.stav = Stav() def napíš(ja, buf): ak buf.začína s(b xff xd8): # Nový rámec, skopírujte obsah existujúcej vyrovnávacej pamäte a upozornite všetkých # klientov je k dispozícii ja.nárazník.skrátiť() s ja.stav: ja.rám = ja.nárazník.getvalue() ja.stav.upozorniť_všetko() ja.nárazník.hľadať(0) návrat ja.nárazník.napíš(buf) trieda StreamingHandler(server.BaseHTTPRequestHandler): def do_GET(ja): ak ja.cesta == „/“: ja.send_response(301) ja.send_header(„Miesto“, „/index.html“) ja.end_headers() elif ja.cesta == „/index.html“: obsah = STRÁNKA.zakódovať(„utf-8“) ja.send_response(200) ja.send_header('Typ obsahu', „text / html“) ja.send_header(„Dĺžka obsahu“, len(obsah)) ja.end_headers() ja.wfile.napíš(obsah) elif ja.cesta == '/stream.mjpg': ja.send_response(200) ja.send_header('Vek', 0) ja.send_header('Cache-Control', 'no-cache, private') ja.send_header(„Pragma“, 'no-cache') ja.send_header('Typ obsahu', 'viacdielne / x-zmiešané-nahradiť; boundary = FRAME ') ja.end_headers() skús: zatiaľ čo Pravdaže: s výkon.stav: výkon.stav.počkaj() rám = výkon.rám ja.wfile.napíš(b„--RÁM r n) ja.send_header('Typ obsahu', „image / jpeg“) ja.send_header(„Dĺžka obsahu“, len(rám)) ja.end_headers() ja.wfile.napíš(rám) ja.wfile.napíš(b r n) okrem Výnimka ako je: ťažba dreva.výstraha( „Odstránený streamovací klient% s:% s, ja.client_address, str(je)) inak: ja.send_error(404) ja.end_headers() trieda StreamingServer(zásuvka servera.ThreadingMixIn, server.HTTPServer): allow_reuse_address = Pravdaže daemon_threads = Pravdaže s pikamerou.PiCamera(rozhodnutie=„640 x 480“, snímok za sekundu=24) ako fotoaparát: výkon = StreamingOutput() fotoaparát.start_recording(výkon, formát='mjpeg') skús: adresa = ('', 8000) server = StreamingServer(adresa, StreamingHandler) server.slúžiť_ navždy() konečne: fotoaparát.stop_recording()

Po vložení kódu do nového vytvoreného súboru stlačte Ctrl + X, typu A a stlačte Zadajte.



Krok 10: Spustenie streamovania videa

Po uložení skript ho spustíme pomocou Python3 zadaním nasledujúceho príkazu:

 python3 rpi_video_streaming.py 

Po napísaní tohto príkazu sa náš skript spustí a teraz môžeme pristupovať na náš webový server na adrese http: //: 8000 . Otvoríme prehliadač a vložíme do neho odkaz a použijeme IP adresu, ktorá je routeru priradená k našej Pi. Môžeme sa dostať k videu streamovanému cez náš mobilný telefón, tablet atď., Ktoré má v sebe nainštalovaný prehliadač a je spojené s podobnou sieťou ako náš Pi. Napísal som, „192.168.1.14:8000“ na spustenie streamovania videa.



Krok 11: Dávanie posledných dotykov

Pretože sme testovali našu kameru Pi a zistili sme, že funguje dobre, sme pripravení ju nainštalovať na vhodné miesto. Môže byť inštalovaný v blízkosti brány domu, aby sme mohli monitorovať každého človeka, ktorý vstupuje do domu alebo z neho vychádza. Všetko, čo potrebujeme, je napájanie ZAP našu kameru pomocou adaptéra a bolo by lepšie vložiť ju do puzdra a nechať stranu kamery otvorenú pre streamovanie videa.



Aplikácie

  1. Môže byť inštalovaný v domácnostiach z bezpečnostných dôvodov.
  2. Môže byť použitý v kanceláriách na sledovanie pohybu zamestnancov.
  3. Môže byť inštalovaný v nákupných centrách, na železničných staniciach atď. A môžu k nim mať prístup administratívni pracovníci, ktorí majú kontrolu a vyváženie v konkrétnej oblasti.