Sådan udføres videostreaming ved hjælp af Raspberry Pi?

Sådan udføres videostreaming ved hjælp af Raspberry Pi? '' ' klasse StreamingOutput(objekt): def __i det__(selv): selv.ramme = Ingen selv.buffer = jeg.BytesIO() selv.tilstand = Tilstand() def skrive(selv, buf): hvis buf.starter med(b'' xff xd8''): # Ny ramme, kopier den eksisterende buffers indhold og underret alt # klienter det er tilgængeligt selv.buffer.trunkeres() med selv.tilstand: selv.ramme = selv.buffer.getvalue() selv.tilstand.notify_all() selv.buffer.søge(0) Vend tilbage selv.buffer.skrive(buf) klasse StreamingHandler(server.BaseHTTPRequestHandler): def gør_GET(selv): hvis selv.sti == '/': selv.send_response(301) selv.send_header('Beliggenhed', '/index.html') selv.end_headers() elif selv.sti == '/index.html': indhold = SIDE.kode('utf-8') selv.send_response(200) selv.send_header('Indholdstype', 'tekst / html') selv.send_header('Indholdslængde', len(indhold)) selv.end_headers() selv.wfile.skrive(indhold) elif selv.sti == '/stream.mjpg': selv.send_response(200) selv.send_header('Alder', 0) selv.send_header('Cache-kontrol', 'ingen cache, privat') selv.send_header('Pragma', 'ingen cache') selv.send_header('Indholdstype', 'multipart / x-blandet-erstat; grænse = FRAME ') selv.end_headers() prøve: mens Rigtigt: med produktion.tilstand: produktion.tilstand.vente() ramme = produktion.ramme selv.wfile.skrive(b'--RAMME r n'') selv.send_header('Indholdstype', 'image / jpeg') selv.send_header('Indholdslængde', len(ramme)) selv.end_headers() selv.wfile.skrive(ramme) selv.wfile.skrive(b'' r n'') undtagen Undtagelse som er: logning.advarsel( Fjernet streamingklient% s:% s'', selv.klientadresse, str(er)) andet: selv.send_error(404) selv.end_headers() klasse StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer): allow_reuse_address = Rigtigt daemon_threads = Rigtigt med picamera.PiCamera(løsning='640x480', ramme=24) som kamera: produktion = StreamingOutput() kamera.start_optagelse(produktion, format='mjpeg') prøve: adresse = ('', 8000) server = StreamingServer(adresse, StreamingHandler) server.tjener for evigt() endelig: kamera.stop_optagelse()

Efter at have indsat koden i den nye oprettede fil skal du trykke på Ctrl + X, type OG og tryk på Gå ind.



Trin 10: Kørsel af videostreaming

Efter at have gemt scriptet kører vi det ved hjælp af Python3 ved at skrive følgende kommando:

 python3 rpi_video_streaming.py 

Efter at have skrevet denne kommando, begynder vores script at køre, og nu kan vi få adgang til vores webserver på http: //: 8000 . Vi åbner browseren og indsætter linket i den og bruger den IP-adresse, der er tildelt vores Pi af routeren. Vi kan komme til videostreaming via vores mobiltelefon, tablet osv., Der har en browser installeret i den og er forbundet med et lignende netværk som vores Pi. Jeg skrev, '192.168.1.14:8000' til at køre videostreaming.



Trin 11: Giv sidste hånd

Da vi har testet vores Pi-kamera og fik at vide, at det fungerer fint, er vi klar til at installere det på et passende sted. Det kan installeres i nærheden af ​​porten til huset, så vi kunne overvåge enhver person, der kommer ind eller forlader huset. Alt, hvad vi har brug for, er magt vores kamera ved hjælp af adapteren, og det ville være bedre at placere det i et kabinet og bare lade kamerasiden være åben til videostreaming.



Ansøgninger

  1. Det kan installeres i hjem af sikkerhedsmæssige årsager.
  2. Den kan bruges på kontorer til overvågning af medarbejderbevægelsen.
  3. Det kan installeres i indkøbscentre, jernbanestationer osv. Og kan tilgås af administrationens personale for at få kontrol og balance i et bestemt område.