Лучшие практики создания многокомнатных помещений (видео и чат) с правами доступа на django и flutter
Последние пару дней я изучал возможность создания многокомнатной комнаты, где пользователи могут либо общаться, либо смотреть, либо совершать видеозвонки в зависимости от их прав в бэкенде Django(DRF) и фронтенде flutter.
Для Django я обнаружил, что мне нужно использовать каналы и веб-сокет. В качестве альтернативы для flutter я нашел платформу потоков (getstream.io), которая помогает это сделать.
В конце дня я был ошеломлен и растерян. Я не знаю, с чего начать, и какой подход лучше всего подходит к тому, что я ищу. Мне очень удобно работать с DRF и использовать dryrestpermissions для разрешения пользователям некоторых действий, однако я не уверен, как интегрировать это с многокомнатными помещениями, websockets и затем получить доступ к этому через flutter...
В любом случае, пожалуйста, дайте мне ваши идеи по этому поводу, лучшие практики и с чего мне начать?
Спасибо!
В качестве сервера комнат можно использовать бэкенд Django, который называется сервером сигнализации для WebRTC. Сервер комнат используется для создания и управления комнатами, чтобы позволить клиентам flutter составлять список комнат, входить в комнату и получать потоки других клиентов
Хотя с точки зрения потоковой передачи, вам следует использовать WebRTC, а не живую потоковую передачу. Потому что для видеочата, задержка должна составлять <400мс, что легко для WebRTC, обычно ~100мс.
Никогда не используйте потоковое вещание в прямом эфире, ни RTMP/HLS, ни LLHLS/DASH, обычно задержка >1s.
.
Если вы хотите получить быстрый обзор, пожалуйста, попробуйте демо-версию SRS: VideoRoom, или другие WebRTC sfu, такие как mediasoup или janus.