Kuidas Raspberry Pi abil video voogesitust läbi viia?

Kuidas Raspberry Pi abil video voogesitust läbi viia? » klass StreamingOutput(objekt): def __selles__(ise): ise.raam = Puudub ise.puhver = Mina.BytesIO() ise.seisund = Seisund() def kirjutama(ise, buf): kui buf.algus(b' xff xd8'): # Uus raam, kopeerige olemasolev puhvri sisu ja teavitage kõiki # klienti see on saadaval ise.puhver.kärpima() koos ise.seisund: ise.raam = ise.puhver.getvalue() ise.seisund.teatama_kõik() ise.puhver.otsima(0) tagasi ise.puhver.kirjutama(buf) klass StreamingKäitleja(server.BaseHTTPRequestHandler): def do_GET(ise): kui ise.tee == '/': ise.send_response(301) ise.send_header('Asukoht', '/index.html') ise.end_headers() elif ise.tee == '/index.html': sisu = PAGE.kodeerida('utf-8') ise.send_response(200) ise.send_header('Sisu tüüp', 'text / html') ise.send_header('Sisu pikkus', len(sisu)) ise.end_headers() ise.wfail.kirjutama(sisu) elif ise.tee == '/stream.mjpg': ise.send_response(200) ise.send_header('Vanus', 0) ise.send_header('Vahemälu juhtimine', 'vahemälu puudub, privaatne') ise.send_header('Pragma', 'vahemälu') ise.send_header('Sisu tüüp', 'mitmeosaline / x-segatud-asendama; piir = FRAME ') ise.end_headers() proovige: samas Tõsi: koos väljund.seisund: väljund.seisund.oota() raam = väljund.raam ise.wfail.kirjutama(b'- RAAM r n') ise.send_header('Sisu tüüp', 'image / jpeg') ise.send_header('Sisu pikkus', len(raam)) ise.end_headers() ise.wfail.kirjutama(raam) ise.wfail.kirjutama(b' r n') välja arvatud Erand as on: metsaraie.hoiatus( 'Voogesitusklient on eemaldatud% s:% s', ise.kliendi aadress, str(on)) muud: ise.send_error(404) ise.end_headers() klass StreamingServer(pistikupesa.ThreadingMixIn, server.HTTPServer): allow_reuse_adress = Tõsi daemon_threads = Tõsi koos pikakaamera.PiCamera(resolutsioon='640x480', kaadrisagedus=24) as kaamera: väljund = StreamingOutput() kaamera.algus_salvestamine(väljund, vormingus='mjpeg') proovige: aadress = (', 8000) server = StreamingServer(aadress, StreamingKäitleja) server.serve_forever() lõpuks: kaamera.stop_recording()

Pärast koodi kleepimist uues loodud failis vajutage Ctrl + X, tüüp JA ja vajutage Sisenema.



10. samm: käivitage video voogesitus

Pärast skripti salvestamist käivitame selle Python3 abil, tippides järgmise käsu:

 python3 rpi_video_streaming.py 

Pärast selle käsu kirjutamist hakkab meie skript töötama ja nüüd pääseme oma veebiserverile juurde aadressil http: //: 8000 . Avame brauseri ja kleepime selle lingi ning kasutame ruuteri poolt meie Pile määratud IP-aadressi. Video voogesituse juurde pääseme oma mobiiltelefoni, tahvelarvuti jms kaudu, millele on installitud brauser ja mis on seotud meie Pi-ga sarnase võrguga. Ma kirjutasin, '192.168.1.14:8000' video voogesituse käitamiseks.



11. samm: viimase lihvi andmine

Kuna oleme oma Pi-kaamerat testinud ja teadnud, et see töötab hästi, oleme valmis selle sobivasse kohta paigaldama. Selle võib paigaldada maja värava lähedale, et saaksime jälgida kõiki inimesi, kes majja sisenevad või sealt lahkuvad. Kõik, mida vajame, on võim PEAL meie kaamera adapteri abil ja parem oleks panna see korpuse sisse ja jätta kaamera pool video voogesituse jaoks lahti.



Rakendused

  1. Seda saab turvalisuse tagamiseks kodudesse paigaldada.
  2. Seda saab kasutada kontorites töötajate liikumise jälgimiseks.
  3. Seda saab paigaldada kaubanduskeskustesse, raudteejaamadesse jne. Haldustöötajad saavad sellele juurde pääseda, et kontrollida ja tasakaalustada konkreetset piirkonda.