Como realizar streaming de vídeo usando Raspberry Pi?'' 'classeStreamingOutput(objeto):def__iniciar__(auto):auto.quadro, Armação=Nenhumauto.amortecedor=Eu.BytesIO()auto.doença=Doença()defEscreva(auto,buf):E sebuf.começa com(b' xff xd8'):# Novo quadro, copie o conteúdo do buffer existente e notifique todos# clientes está disponívelauto.amortecedor.truncar()comauto.doença:auto.quadro, Armação=auto.amortecedor.Obter valor()auto.doença.notificar_todos()auto.amortecedor.procurar(0)Retornaauto.amortecedor.Escreva(buf)classeStreamingHandler(servidor.BaseHTTPRequestHandler):defdo_GET(auto):E seauto.caminho=='/':auto.send_response(301)auto.send_header('Localização','/index.html')auto.end_headers()elifauto.caminho=='/index.html':conteúdo=PÁGINA.codificar('utf-8')auto.send_response(200)auto.send_header('Tipo de conteúdo','text / html')auto.send_header('Comprimento do conteúdo',len(conteúdo))auto.end_headers()auto.wfile.Escreva(conteúdo)elifauto.caminho=='/stream.mjpg':auto.send_response(200)auto.send_header('Era',0)auto.send_header('Cache-Control','no-cache, privado')auto.send_header('Pragma','no-cache')auto.send_header('Tipo de conteúdo','multipart / x-mixed-replace; limite = FRAME ')auto.end_headers()experimentar:enquantoVerdadeiro:comresultado.doença:resultado.doença.esperar()quadro, Armação=resultado.quadro, Armaçãoauto.wfile.Escreva(b'--QUADRO, ARMAÇÃO r n')auto.send_header('Tipo de conteúdo','imagem / jpeg')auto.send_header('Comprimento do conteúdo',len(quadro, Armação))auto.end_headers()auto.wfile.Escreva(quadro, Armação)auto.wfile.Escreva(b' r n')excetoExceçãoComoé:exploração madeireira.Atenção('Cliente de streaming removido% s:% s',auto.client_address,str(é))outro:auto.send_error(404)auto.end_headers()classeStreamingServer(socketserver.ThreadingMixIn,servidor.HTTPServer):allow_reuse_address=Verdadeirodaemon_threads=Verdadeirocompicamera.PiCamera(resolução='640x480',taxa de quadros=24)ComoCâmera:resultado=StreamingOutput()Câmera.comece a gravar(resultado,formato='mjpeg')experimentar:endereço=('',8000)servidor=StreamingServer(endereço,StreamingHandler)servidor.serve_forever()finalmente:Câmera.pare de gravar()
Após colar o código no novo arquivo criado, pressione Ctrl + X, tipo E e pressione Entrar.
Etapa 10: executando o streaming de vídeo
Depois de salvar o script, iremos executá-lo usando Python3, digitando o seguinte comando:
python3 rpi_video_streaming.py
Depois de escrever este comando, nosso script começará a ser executado e agora podemos acessar nosso servidor web em http: //: 8000 . Vamos abrir o navegador, colar o link nele e usar o endereço IP atribuído ao nosso Pi pelo roteador. Podemos obter o streaming de vídeo através do nosso celular, tablet, etc que possui um navegador instalado e está associado a uma rede semelhante ao nosso Pi. Eu escrevi, '192.168.1.14:8000' para executar o streaming de vídeo.
Etapa 11: dar os toques finais
Como testamos nossa câmera Pi e soubemos que está funcionando bem, estamos prontos para instalá-la em um local adequado. Pode ser instalado próximo ao portão da casa para que possamos monitorar cada pessoa que entra ou sai da casa. Tudo o que precisamos é poder EM nossa câmera usando o adaptador e seria melhor colocá-la dentro de uma caixa e apenas deixar o lado da câmera aberto para streaming de vídeo.
Formulários
Pode ser instalado em residências para fins de segurança.
Pode ser usado em escritórios para monitorar a movimentação dos funcionários.
Pode ser instalado em shoppings, estações ferroviárias etc e pode ser acessado pela equipe administrativa para verificação e saldo em área específica.