muaz-khan / RTCMultiConnection

RTCMultiConnection is a WebRTC JavaScript library for peer-to-peer applications (screen sharing, audio/video conferencing, file sharing, media streaming etc.)
https://muazkhan.com:9001/
MIT License
2.55k stars 1.38k forks source link

Many to Many with 16 participants #857

Open thornzz opened 4 years ago

thornzz commented 4 years ago

Hi,

Im developing a video conferance software for our company. We got too many locations in many city. So we want to do Video Conferance generally 16 participants. But problem is i can handle max 6 participants than randomly participants closing their socket and CPU usage is %100. Maybe a SFU software like "kubernetes" can handle encode decode things and we can achive max 16 participants.Is there any idea ? What i have to do for making video conference with 16 participants without big delays and cpu usage.? Is there anyone using a SFU software with this framework?

Help me @muaz-khan Give me an idea pls.

matiaslopezd commented 4 years ago

I recommend you try start to use wasm (WebAssembly) to improve the CPU and RAM consumption with a good media server and detailed streams manage of participants. The most important thing to have in mind is try to write code monitoring every action on app for avoid overload the device.

The other problem is compatibility because you can't have all at the same time :disappointed: However one way to see the difference of performance is selecting a good codec but for example VP9 doesn't work in Safari iOS and MacOS also AV1.

matiaslopezd commented 4 years ago

Have a SFU with kubernetes is not the solution to your problem of performance because you don't need scale SFU infrastructure, you need create a better relay server can manage +16 participants at the same time per room for remove load to devices and manage into the server.

When you achieve the goal of manage +16 participants in you app over browser that's when you need worry about delay and loss packet. (SFU geographical distribution)

wyattbenno777 commented 4 years ago

@thornzz did you ever resolve this? I have the same issue, where this works very well for small group sessions (under 5), but quality drops off after due to the mesh network like nature of WebRTC. I wonder if there is a way to upgrade the connection to an SFU like connection after a certain amount of users are on the call. Any solution you found would be super helpful.