ich habe ein Flask-Script, das mir einen Videostream im Browser darstellt. Es geht um das Darstellen von mehreren Streams im Browser gleichzeitig.
Grob etwa so (habs zusammengestrichen zur Übersicht):
Code: Alles auswählen
app = Flask(__name__)
# Template rendern
@app.route('/')
def index():
return render_template('index.html', videosources=videosources)
# IP Kamera Frame auslesen
def gen(camera):
while True:
frame = camera.get_frame()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
# Feed Adresse
@app.route('/video_feed', methods=['GET'])
def video_feed():
# Hier wäre wohl etwas zu verändern, um mehrere Streams anzuzeigen
return Response(gen(IpCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='127.0.0.1', port=int("80"), debug=True)
Code: Alles auswählen
<!DOCTYPE html>
<html>
<head>
<title>Video Streaming Demonstration</title>
</head>
<body>
<h1>Video Streaming Demonstration</h1>
<img src="{{ url_for('video_feed') }}"> <!-- Hier wäre eine Schleife im Template einzufügen -->
</body>
</html>