Quiero obtener una transmisión en vivo del cliente en mi web para procesarla (reconocimiento facial, etc.) y luego mostrarla de nuevo en su web.
Ya logré hacerlo con mi propia cámara (host), pero no encontré una solución para hacerlo con la cámara web de los clientes.
este es mi código principal en este momento:
from flask import Flask, render_template, Response from camera import VideoCamera app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') 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') @app.route('/video_feed') def video_feed(): return Response(gen(VideoCamera()), mimetype='multipart/x-mixed-replace; boundary=frame') if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, threaded=True, use_reloader=False)La clase VideoCamera, captura mi cámara web (cv2.videocapture(0)) leyendo los fotogramas (con la función ge_frame()) procesándola y luego devolviendo la imagen con codificación a jpeg a bytes.
La parte html:
<html lang="en"> <head> <title>Face Detector</title> </head> <body> <h1>Face Recognition</h1> <img src="http://localhost:5000/video_feed" alt="loading video stream..." /> </body> </html>¿Cómo puedo hacerlo con la webcam del cliente?