在 django 和 flutter 中使用权限构建多房间(视频和聊天)的最佳实践

Best practices to build multi room (video and chat) with permissions in django and flutter

所以过去几天我一直在研究构建多房间,用户可以根据他们在 Django(DRF) 后端和 flutter 前端的权限聊天、观看或进行视频通话。

对于Django,我发现我需要使用通道和网络套接字。 或者,对于 flutter,我发现流平台 (getstream.io) 有助于做到这一点。

一天结束时,我感到不知所措和困惑。我不知道从哪里开始,或者什么是我正在寻找的最佳方法。我对使用 DRF 和使用 dryrestpermissions 来允许用户执行某些操作感到非常满意,但是我不确定如何将其与多房间、websockets 集成,然后通过 flutter 访问它...

无论哪种方式,请告诉我您对此的想法、最佳做法以及我应该从哪里开始?

谢谢!

您可以使用 Django 后端作为房间服务器,它被称为 WebRTC 的信令服务器。用于创建和管理房间的房间服务器,允许flutter客户端列出房间,进入房间并获取其他客户端的流。

而从流媒体的角度来看,你应该使用WebRTC,而不是直播。因为对于视频聊天,滞后应该<400ms,WebRTC很容易做到这一点,一般~100ms。

Never use live streaming, whatever neither RTMP/HLS nor LLHLS/DASH, normally >1s latency.

如果您想要快速概览,请尝试 SRS: VideoRoom 的演示,或其他 WebRTC sfu,如 mediasoup 或 janus。