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", )

stream.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 が機能しなくなりました

settings.py :

ASGI_APPLICATION = 'photon.asgi.application'

asgi.py

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

cv2 から画像をストリーミングし、同時に django チャンネルなどを使用できるソリューションが必要です。ありがとうございます!

4

0 に答える 0