0

我使用以下代码从 cv2 流式传输图像:

视图.py

def generate():
        while True:
        (flag, encodedImage) = cv2.imencode(".jpg", s_manager.acquire_image())
        yield (b'--frame\r\n'
               b'Content-Type: image/jpeg\r\n\r\n' + bytearray(encodedImage) + b'\r\n\r\n')

def main_stream(request):
    return StreamingHttpResponse(generate(), content_type="multipart/x-mixed-replace;boundary=frame", )

流.html

{% block stream %}
    <div class="stream-container">
        <img src="{% url 'stream:stream' %}" id="img-stream" draggable='false' ondragstart="return false;"></img>
    </div>
{% endblock %}

一旦我将 Django 频道添加到我的项目中,StreamingHttpResponse 就会停止工作

设置.py

ASGI_APPLICATION = 'photon.asgi.application'

asgi.py

application = ProtocolTypeRouter({
'http': get_asgi_application(),
'websocket': AuthMiddlewareStack(URLRouter(ws_urlpatterns))
})

我需要一个解决方案,允许我从 cv2 流式传输图像,同时使用 django 频道或类似的东西。谢谢大家!

4

0 回答 0