Spaces:
Sleeping
Sleeping
| from flask import Flask, Response, render_template | |
| from flask_socketio import SocketIO | |
| from flask_cors import CORS | |
| import time | |
| app = Flask(__name__) | |
| CORS(app, resources={r"/video_stream": {"origins": "*"}}) | |
| socketio = SocketIO(app) | |
| latest_frame = None | |
| def handle_frame(data): | |
| global latest_frame | |
| latest_frame = data # data is bytes | |
| def generate_mjpeg_stream(): | |
| while True: | |
| if latest_frame: | |
| yield (b'--frame\r\n' | |
| b'Content-Type: image/jpeg\r\n\r\n' + latest_frame + b'\r\n') | |
| time.sleep(0.1) | |
| def video_stream(): | |
| return Response(generate_mjpeg_stream(), | |
| mimetype='multipart/x-mixed-replace; boundary=frame') | |
| def index(): | |
| return render_template('index.html') | |
| if __name__ == '__main__': | |
| socketio.run(app, host='0.0.0.0', port=7860, allow_unsafe_werkzeug=True) | |