7

So I have a web-based application where I need to show a group video-chat (only video, no audio) of a total of 28 people (including the clients stream).

Trying a full-mesh topology using webrtc is exceedingly memory-consuming. The browser just can't handle it.

What is the best way to implement this feature? Are there any good libs or code-examples for webrtc use with a large number of participants?

Thanks for any input

Stefan
  • 101
  • 1
  • 5

2 Answers2

10

In a browser you could typically have 3-5 parallel calls, but it would be really tough for the browser. For your requirements you need a WebRTC MCU (Multipoint Conferencing Unit) - some short details and general picture can be found here: https://bloggeek.me/webrtc-multipoint-large-groups/

Some popular solutions:
Here is Janus: https://janus.conf.meetecho.com
Also take a look at licode: http://lynckia.com/licode/
Medooza worth to consider as well: http://www.medooze.com/products/mcu/webrtc-support.aspx

[updated]
Another good example of MCU came from comments: Jitsi https://jitsi.org

fycth
  • 3,410
  • 25
  • 37
  • 2
    I would add the very popular jitsi (attlasian) to the list, and you would have the usual suspects. INTEL also has a very good free one, based originally on licode. Janus is used by slack. – Dr. Alex Gouaillard Aug 26 '16 at 18:23
3

28 people won't work in a mesh. Way too much overhead on a single client. Using the WebRTC mesh, our streams topped out at 5-6 people (depending on computer and bandwidth).

You need the data routed through a server, and duplicated on the server-side, not on the clients.

Check out a service like OpenTok or host yourself with Jitsi or FrozenMountain

clay
  • 5,917
  • 2
  • 23
  • 21