我使用以下代码从 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 频道或类似的东西。谢谢大家!