Com es pot transmetre vídeo amb Raspberry Pi?'' 'classeStreamingOutput(objecte):def__init__(jo):jo.marc=Capjo.memòria intermèdia=Jo.BytesIO()jo.condició=Condició()defescriure(jo,buf):sibuf.comença amb(b' xff xd8'):# Nou marc, copieu el contingut del buffer existent i notifiqueu-ho a tots# clients està disponiblejo.memòria intermèdia.truncar()ambjo.condició:jo.marc=jo.memòria intermèdia.getvalue()jo.condició.notificar_tot()jo.memòria intermèdia.buscar(0)tornarjo.memòria intermèdia.escriure(buf)classeStreamingHandler(servidor.BaseHTTPRequestHandler):deffer_ OBTENIR(jo):sijo.Camí=='/':jo.enviar_resposta(301)jo.cap_enviament('Ubicació','/Index.html')jo.capçaleres_finals()elifjo.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)elifjo.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:ambsortida.condició:sortida.condició.espera()marc=sortida.marcjo.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')excepteExcepció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()classeStreamingServer(socketerver.ThreadingMixIn,servidor.Servidor HTTPS):allow_reuse_address=És certfils_demonys=És certambpicamera.PiCamera(resolució='640x480',framerate=24)comcà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
Es pot instal·lar a les llars per motius de seguretat.
Es pot utilitzar a les oficines per controlar el moviment dels empleats.
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.