我想用Flask创建一个人脸识别应用程序,可以通过本地网络访问,以便其他设备可以访问,视频流的帧将通过socket io连接发送到Flask服务器,但问题是相机访问是给HTTPS连接。
我试着调整浏览器以允许chrome和firefox上的相机HTTP连接,但没有用。我还尝试制作SSL证书并附加到应用程序,但浏览器显示无效证书。
有谁知道其他方法吗
我必须为我正在做的AI事情使用类似的东西,这就是我如何将我的相机馈送流到本地IP。
from flask import Flask, Response
import cv2, socket
app = Flask(__name__)
#camera = cv2.VideoCapture("rtsp://admin:pass/0.0.0.0:8080") #If you want to use RTSP
camera = cv2.VideoCapture(0)
def gen_frames():
while True:
success, frame = camera.read()
if not success:
break
else:
ret, buffer = cv2.imencode('.jpg', frame)
frame = buffer.tobytes()
yield (b'--framern'
b'Content-Type: image/jpegrnrn' + frame + b'rn')
@app.route('/')
def index():
return '''<img src="/video_feed" width="100%" height="100%">'''
@app.route('/video_feed')
def video_feed():
return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == "__main__":
app.run(debug=True, port=8080, host=socket.gethostbyname(socket.gethostname()))