0

我正在尝试完成以下操作: 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>
4

0 回答 0