Estou tentando usar a API picamera e o Flask para implementar um fluxo Python (ao vivo) puro do JPEG contínuo do módulo de câmera Raspberry Pi para exibi-lo usando um modelo HTML, mas continuo recebendo um "erro 404 não encontrado"?
Sou um pouco inexperiente com esse assunto em particular, com desculpas antecipadamente.
app.route('/test/')
def vid():
with picamera.PiCamera() as camera:
stream = io.BytesIO()
for foo in camera.capture_continuous(stream, format='jpeg'):
stream.truncate()
stream.seek(0)
if process(stream):
break
Aqui está o código HTML:
<img src="{{ url_for('vid') }}"width='950px' height='450px'>
Respostas:
Eu li um pouco mais e acho que sua abordagem nunca funcionará como desejado. O artigo de Miguel Grinberg aqui descreve como obter o streaming da câmera Raspberry Pi para o Flask e fornece vários exemplos úteis. É fornecido um programa simples e completo (câmera não Pi) que mostra o uso de uma função de gerador e um tipo de resposta com várias partes para obter streaming animado:
Você pode ver que a
/video-feed
rota retorna um objeto de tipo de resposta com várias partes que é gerado continuamente pelagen(camera)
função. Sem essa abordagem, suspeito que uma imagem estática é tudo que você verá. Há um exemplo completo de um aplicativo de streaming de picamera para Flask com base no tutorial acima aqui .fonte
camera.py
) do tutorial.Basta mudar a câmera de importação para a câmera. Você precisa instalar o ffpmeg ang mpeg-streamer. Se esses dois módulos não funcionarem, instale também o uv4l. Depois disso, reinicie-o e funcione
fonte