Files
camera-remote/live_flask.py
2025-08-29 06:45:55 +02:00

30 lines
779 B
Python

import cv2
import numpy as np
import gphoto2 as gp
from flask import Flask, Response
app = Flask(__name__)
camera = gp.Camera()
camera.init()
def generate():
while True:
file = camera.capture_preview()
data = file.get_data_and_size()
frame = np.frombuffer(data, dtype=np.uint8)
frame = cv2.imdecode(frame, cv2.IMREAD_COLOR)
if frame is not None:
_, buffer = cv2.imencode('.jpg', frame)
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + buffer.tobytes() + b'\r\n')
@app.route('/liveview')
def liveview():
return Response(generate(),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)