Czat audio/video moderowany

0

Cześć, noszę się z napisaniem czatu audio/video. Początkowo myślałem, aby napisać serwer streamujący w node+socket.io; jeden klient wysyła stream do serwera i serwer rozsyła go do reszty użytkowników. Jednak takie rozwiązanie przy video i audo byłoby zasobożerne (w projekcie nie dysponujemy szczególnymi nakładami finansowymi).
Dlatego pomyślałem o WebRTC i wykorzystaniu jakiejś biblioteki, np. Peer.js. Tu jednak widzę problem (może tylko ja ;P) jak zarządzać takimi połączeniami? Chodzi mi np. o uniemożliwienie niektórym użytkownikom nawiązywania połączenia (ban), albo utworzenie kolejki wypowiedzi w publicznym "pokoju" (jedna osoba mówi w jednym czasie).

Nie wiem więc które podejście wybrać. Websocketowe rozwiązania są łatwe w nałożeniu limitów i zarządzaniu połączeniami, prowadzeniu statystyk itp. W przypadku WebRTC wszystko wydaje się bardziej "luźne", niemożliwe do objęcia tego typu kontrolą.

2

Na inżynierkę napisałem taki chat wraz z uprawnieniami, do kanałów itp. Minimalny zestw na możliwość połaczenia się zawsze::

  • serwer node.js który to jest serwerem sygnalizacyjnym obsługującym wszystko za pomocą socket.io - przez niego przepływają informacje podczas nawiązywania połączenia a więc masz możliwość odrzucenia połączenia, poproszenia o hasło odebrania sesji itp itd.
  • coś żeby wyswietlić front
  • serwer STUN i TURN - obowiązkowe jeśli chcesz się uporać z natem i tak sporo połączeń się nie obejdzie bez turna więc tak czy tak twój serwer będzie obciążony ruchem.

Na tych artykułach bazowałem https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ http://www.w3ii.com/en-US/webrtc/default.html Nie udało mi się niestety rozwiązać problemu z łącznością z edge/ie z pozostałymi przeglądarkami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1