Kako izvesti pretakanje videa z uporabo Raspberry Pi?

Kako izvesti pretakanje videa z uporabo Raspberry Pi? '' razred StreamingOutput(predmet): def __v__(sebe): sebe.okvir = Nobenega sebe.medpomnilnik = jaz.BytesIO() sebe.stanje = Stanje() def piši(sebe, buf): če buf.se začne z(b' xff xd8'): # Nov okvir, kopirajte vsebino obstoječega medpomnilnika in obvestite vse # strank je na voljo sebe.medpomnilnik.okrniti() s sebe.stanje: sebe.okvir = sebe.medpomnilnik.getvalue() sebe.stanje.notify_all() sebe.medpomnilnik.iskati(0) vrnitev sebe.medpomnilnik.piši(buf) razred StreamingHandler(strežnik.BaseHTTPRequestHandler): def do_GET(sebe): če sebe.pot == '/': sebe.send_response(301) sebe.send_header('Lokacija', '/index.html') sebe.end_headers() elif sebe.pot == '/index.html': vsebino = STRAN.kodiraj('utf-8') sebe.send_response(200) sebe.send_header('Content-Type', 'besedilo / html') sebe.send_header('Content-Length', len(vsebino)) sebe.end_headers() sebe.wfile.piši(vsebino) elif sebe.pot == '/stream.mjpg': sebe.send_response(200) sebe.send_header('Starost', 0) sebe.send_header('Nadzor predpomnilnika', 'brez predpomnilnika, zasebno') sebe.send_header('Pragma', 'brez predpomnilnika') sebe.send_header('Content-Type', 'večdelna / x-mešana-zamenjava; meja = OKVIR ') sebe.end_headers() poskusite: medtem Prav: s izhod.stanje: izhod.stanje.počakaj() okvir = izhod.okvir sebe.wfile.piši(b'--OKVIR r n') sebe.send_header('Content-Type', 'image / jpeg') sebe.send_header('Content-Length', len(okvir)) sebe.end_headers() sebe.wfile.piši(okvir) sebe.wfile.piši(b' r n') razen Izjema kot je: sečnja.Opozorilo( 'Odstranjen odjemalec za pretakanje% s:% s', sebe.naslov_odjemalca, str(je)) drugače: sebe.send_error(404) sebe.end_headers() razred StreamingServer(vtičnica.ThreadingMixIn, strežnik.HTTPSserver): allow_reuse_address = Prav daemon_threads = Prav s picamera.PiCamera(resolucija='640x480', hitrost sličic=24.) kot kamero: izhod = StreamingOutput() kamero.snemanje_začetka(izhod, format='mjpeg') poskusite: naslov = (', 8000) strežnik = StreamingServer(naslov, StreamingHandler) strežnik.serve_forever() končno: kamero.stop_recording()

Po lepljenju kode v novo ustvarjeno datoteko pritisnite Ctrl + X, tip IN in pritisnite Enter.



10. korak: Zagon pretakanja videa

Po shranitvi skripta ga bomo zagnali s pomočjo Python3, tako da vtipkamo naslednji ukaz:

 python3 rpi_video_streaming.py 

Po pisanju tega ukaza se bo naš skript začel izvajati in zdaj lahko dostopamo do našega spletnega strežnika na http: //: 8000 . Odprli bomo brskalnik in vanj prilepili povezavo ter uporabili naslov IP, ki ga usmerjevalniku dodeli naš Pi. Do pretočnega videa lahko pridemo prek našega mobilnega telefona, tablice itd., Ki ima nameščen brskalnik in je povezan s podobnim omrežjem kot naš Pi. Napisal sem, '192.168.1.14:8000' za zagon pretakanja video posnetkov.



Korak 11: Dajanje zaključkov

Ker smo preizkusili našo kamero Pi in ugotovili, da deluje dobro, smo jo pripravljeni namestiti na primerno mesto. Lahko ga namestimo v bližini hišnih vrat, da lahko spremljamo vse osebe, ki vstopajo ali izstopajo iz hiše. Vse kar potrebujemo je moč VKLOPLJENO našo kamero z uporabo adapterja in bolje bi bilo, da ga vstavimo v ohišje in pustimo stran kamere odprto za pretakanje video posnetkov.



Aplikacije

  1. Zaradi varnosti ga je mogoče namestiti v domove.
  2. Uporablja se lahko v pisarnah za spremljanje gibanja zaposlenih.
  3. Lahko ga namestite v nakupovalna središča, železniške postaje itd., Do njega pa lahko dostopa administrativno osebje za preverjanje in uravnoteženje na določenem območju.