While developing the video chat solution in peer.school it turned out that multi-peer streaming is not practicable for a large number of participants due to bandwidth and performance (see #63). An SFU (Selective Forwarding Unit) was required that would receive participants video and audio streams and forward those the the participants, reducing the numbers of connections a client has to handle.
The current implementation uses Jitsi for this purpose: https://github.com/jitsi/lib-jitsi-meet
Other solutions might also be worth considering, like mediasoup:
This should also fix related issues like #65 #34
While developing the video chat solution in peer.school it turned out that multi-peer streaming is not practicable for a large number of participants due to bandwidth and performance (see #63). An SFU (Selective Forwarding Unit) was required that would receive participants video and audio streams and forward those the the participants, reducing the numbers of connections a client has to handle.
The current implementation uses Jitsi for this purpose: https://github.com/jitsi/lib-jitsi-meet
Other solutions might also be worth considering, like mediasoup:
This should also fix related issues like #65 #34