bounty将在2天后过期。回答此问题可获得+50声望奖励。Simone Pozzoli希望吸引更多人关注此问题。
我有一个简单的应用程序,它使用开放的cv和设置在wsgi
中的服务器来流式传输图像。但是每当我将Django频道引入图片并从WSGI
更改为ASGI
时,流式传输就会停止。我如何在使用Django channels
的同时从cv2流式传输图像?提前感谢您
我的流媒体代码:
def camera_feed(request):
stream = CameraStream()
frames = stream.get_frames()
return StreamingHttpResponse(frames, content_type='multipart/x-mixed-replace; boundary=frame')
settings.py:
ASGI_APPLICATION = 'photon.asgi.application'
asgi.py
application = ProtocolTypeRouter({
'http': get_asgi_application(),
'websocket': AuthMiddlewareStack(URLRouter(ws_urlpatterns))
})
1条答案
按热度按时间sqyvllje1#
首先,我们根本不需要StrammingHTTPResponse来发送图像数据...
为此,首先,确保你有一个Django 3.x和Python 3.7+的版本。
然后,安装django-channels第三方软件包。
按如下所示配置ASGI应用程序:
然后,您需要在www.example.com文件中设置ASGI_APPLICATION常量settings.py:
之后,只需在应用程序中的www.example.com文件中创建一个异步WebSocket使用者consumers.py:
也为asyncwebsocket使用者创建一个路由...
然后,只需要用javascript创建一个WebSocket客户端......就可以开始了......
JS WebSocket创建链接:javascript-websocket