我正在尝试完成以下操作: 1. 捕获实时流 = 使用屏幕捕获(mss 包)完成 2. 识别 1)中的面孔 = 使用“face_recognition”包完成 3. (重新)将结果流式传输为在 Flask + IIS 中托管的 Web 应用程序中识别出人脸的 Motion-JPEG = 问题
因此,当我使用调试功能(flask run --debugger)将结果仅流式传输到 Flask 时,它可以工作(右图 --> 参见http://127.0.0.1:... .)。但是,当我尝试使用 IIS 时,它不起作用,导致出现灰色图像(下图) - 请参阅http://193 .....
我确信 IIS 可以与 Flask 一起使用,因为我已经在同一个应用程序中托管了一些 Web 服务。
烧瓶:
@app.route('/py/bbb', methods=['GET', 'POST'])
def bbb():
return render_template("bbb.html")
@app.route('/py/video_feed', methods=['GET', 'POST'])
def video_feed():
imagineProcesata = screenrec.proceseazaImagine()
return Response(imagineProcesata, mimetype='multipart/x-mixed-replace; boundary=frame')
Python:
def proceseazaImagine():
[.....]
predictions = recunoaste_fetze(face_unknown)
face_unknown = show_prediction_labels_on_image(face_unknown, predictions)
ret, jpeg = cv2.imencode('.jpg', face_unknown)
jpeg2 = jpeg.tobytes()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + bytearray(jpeg2) + b'\r\n\r\n')
HTML 模板:
<head>
<title>Video Streaming din BBwwB</title>
</head>
<body>
<h1>Video Streaming din BBBeee</h1>
<img id="bg" src="{{ url_for('video_feed') }}" />
</body>
网络配置
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
<handlers>
<add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\ProgramData\Anaconda3\envs\opencv\python.exe|C:\inetpub\wwwroot\FlaskRedirect\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<directoryBrowse enabled="true" />
</system.webServer>
<appSettings>
<!-- Required settings -->
<add key="WSGI_HANDLER" value="app.app" />
<add key="PYTHONPATH" value="C:\inetpub\wwwroot\FlaskRedirect" />
</appSettings>
</configuration>