Ich versuche, die Picamera- API und Flask zu verwenden, um einen reinen Python (Live) -Stream des kontinuierlichen JPEG aus dem Raspberry Pi-Kameramodul zu implementieren, um ihn mithilfe einer HTML-Vorlage anzuzeigen, aber ich erhalte weiterhin den Fehler "404 nicht gefunden".
Ich bin ein bisschen unerfahren mit diesem speziellen Thema, entschuldige mich im Voraus.
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
Hier ist der HTML-Code:
<img src="{{ url_for('vid') }}"width='950px' height='450px'>
Antworten:
Ich habe noch etwas gelesen und glaube nicht, dass Ihr Ansatz jemals wie gewünscht funktionieren wird. Der Artikel von Miguel Grinberg beschreibt hier , wie man ein Raspberry Pi-Kamera-Streaming zu Flask erreicht, und bietet einige nützliche Beispiele. Es wird ein einfaches, vollständiges Programm (ohne Pi-Kamera) bereitgestellt, das die Verwendung einer Generatorfunktion und eines mehrteiligen Antworttyps zum Erzielen eines animierten Streamings zeigt:
Sie können sehen, dass die
/video-feed
Route ein mehrteiliges Antworttypobjekt zurückgibt, das kontinuierlich von dergen(camera)
Funktion generiert wird . Ohne diesen Ansatz ist vermutlich nur ein statisches Bild zu sehen. Es gibt ein komplettes Beispiel einer picamera-to-Flask - Streaming - Anwendung auf dem obigen Tutorial basierte hier .quelle
camera.py
) aus dem Tutorial.Ändern Sie einfach die Importkamera in Picamera. Sie müssen ffpmeg ang mpeg-streamer installieren. Wenn diese beiden Module nicht funktionieren, installieren Sie auch uv4l. Danach starten Sie es neu und es funktioniert
quelle