J'essaie d'utiliser l' API picamera et Flask pour implémenter un flux Python (en direct) pur du JPEG continu à partir du module de caméra Raspberry Pi pour l'afficher à l'aide d'un modèle HTML, mais je reçois toujours une "erreur 404 introuvable"?
Je suis un peu inexpérimenté avec ce sujet particulier, excuses à l'avance.
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
Voici le code HTML:
<img src="{{ url_for('vid') }}"width='950px' height='450px'>
Réponses:
J'ai fait un peu plus de lecture, et je ne pense pas que votre approche fonctionnera jamais comme souhaité. L'article de Miguel Grinberg décrit ici comment obtenir une caméra Raspberry Pi en streaming sur Flask, et fournit plusieurs exemples utiles. Un programme simple et complet (caméra non Pi) est fourni qui montre l'utilisation d'une fonction de générateur et d'un type de réponse en plusieurs parties pour obtenir une diffusion animée:
Vous pouvez voir que la
/video-feed
route renvoie un objet de type de réponse en plusieurs parties qui est généré en continu par lagen(camera)
fonction. Sans cette approche, je soupçonne qu'une image statique est tout ce que vous verrez. Il y a un exemple complet d'une application de streaming picamera vers Flask basée sur le tutoriel ci-dessus ici .la source
camera.py
) du tutoriel.Changez simplement la caméra d'importation en picamera. Vous devez installer ffpmeg ang mpeg-streamer. Si ces deux modules ne fonctionnent pas, installez également uv4l. Après cela, redémarrez-le et cela fonctionne
la source