Com es pot transmetre vídeo amb Raspberry Pi?

Com es pot transmetre vídeo amb Raspberry Pi? '' ' classe StreamingOutput(objecte): def __init__(jo): jo.marc = Cap jo.memòria intermèdia = Jo.BytesIO() jo.condició = Condició() def escriure(jo, buf): si buf.comença amb(b' xff xd8'): # Nou marc, copieu el contingut del buffer existent i notifiqueu-ho a tots # clients està disponible jo.memòria intermèdia.truncar() amb jo.condició: jo.marc = jo.memòria intermèdia.getvalue() jo.condició.notificar_tot() jo.memòria intermèdia.buscar(0) tornar jo.memòria intermèdia.escriure(buf) classe StreamingHandler(servidor.BaseHTTPRequestHandler): def fer_ OBTENIR(jo): si jo.Camí == '/': jo.enviar_resposta(301) jo.cap_enviament('Ubicació', '/Index.html') jo.capçaleres_finals() elif jo.Camí == '/Index.html': contingut = PÀGINA.codificar('utf-8') jo.enviar_resposta(200) jo.cap_enviament('Tipus de contingut', 'text / html') jo.cap_enviament('Longitud del contingut', len(contingut)) jo.capçaleres_finals() jo.wfile.escriure(contingut) elif jo.Camí == '/Stream.mjpg': jo.enviar_resposta(200) jo.cap_enviament('Edat', 0) jo.cap_enviament('Cache-Control', 'sense memòria cau, privada') jo.cap_enviament('Pragma', 'No-cache') jo.cap_enviament('Tipus de contingut', 'multipart / x-mixed-replace; límit = MARC ') jo.capçaleres_finals() provar: mentre És cert: amb sortida.condició: sortida.condició.espera() marc = sortida.marc jo.wfile.escriure(b'--FRAME r n') jo.cap_enviament('Tipus de contingut', 'image / jpeg') jo.cap_enviament('Longitud del contingut', len(marc)) jo.capçaleres_finals() jo.wfile.escriure(marc) jo.wfile.escriure(b' r n') excepte Excepció com és: registre.advertència( 'S'ha eliminat el client de transmissió% s:% s', jo.adreça_client, str(és)) en cas contrari: jo.enviar_error(404) jo.capçaleres_finals() classe StreamingServer(socketerver.ThreadingMixIn, servidor.Servidor HTTPS): allow_reuse_address = És cert fils_demonys = És cert amb picamera.PiCamera(resolució='640x480', framerate=24) com càmera: sortida = StreamingOutput() càmera.gravació_inici(sortida, format='mjpeg') provar: adreça = ('', 8000) servidor = StreamingServer(adreça, StreamingHandler) servidor.servir_per sempre() finalment: càmera.gravar_aturar()

Després d'enganxar el codi al nou fitxer creat, premeu Ctrl + X, tipus I i premeu Entra.



Pas 10: Execució de la transmissió de vídeo

Després de desar l'script, l'executarem amb Python3 escrivint l'ordre següent:

 python3 rpi_video_streaming.py 

Després d’escriure aquesta ordre, el nostre script començarà a executar-se i ara podrem accedir al nostre servidor web a http: //: 8000 . Obrirem el navegador i hi enganxarem l’enllaç i utilitzarem l’adreça IP que l’encaminador assigni al nostre Pi. Podem arribar a la transmissió de vídeo a través del nostre telèfon mòbil, tauleta, etc. que té instal·lat un navegador i que està associat a una xarxa similar a la del nostre Pi. Vaig escriure, '192.168.1.14:8000' per executar la transmissió de vídeo.



Pas 11: donar tocs finals

Com hem provat la càmera Pi i hem sabut que funciona bé, estem preparats per instal·lar-la en un lloc adequat. Es pot instal·lar a prop de la porta de la casa de manera que puguem controlar totes les persones que entren o surten de la casa. Tot el que necessitem és poder ACTIVAT la nostra càmera mitjançant l’adaptador i seria millor posar-la dins d’una carcassa i deixar el costat de la càmera obert per transmetre vídeo.



Aplicacions

  1. Es pot instal·lar a les llars per motius de seguretat.
  2. Es pot utilitzar a les oficines per controlar el moviment dels empleats.
  3. Es pot instal·lar en centres comercials, estacions de ferrocarril, etc. i el personal de l’administració pot accedir-hi per comprovar i equilibrar en una àrea específica.