How can I extend the mediasoup sfu server ?

How can I extend the sfu server?

I’m a novice developer developing a video conferencing application.

Mediasoup was a great help to me. P2P implementation, sfu implementation. It was very helpful because there were many open sources.

But I want to make sure that there are many people in one room.

The mediasoup server that I have implemented causes screen disconnection when there are more than 8 people in one room. If there are more than 10 people, it is difficult to proceed with the video conference.

I think we should make a lot of sfu server and connect them together. But I couldn’t find the answer anywhere. I read about pipe, but it was still difficult to my level.

Here’s my plan.

sfu 1: https:xxx.xxx.xxx.xxx:3001
sfu 2: https:xxx.xxx.xxx.xxx:3002

room : testRoom

10 people from sfu 1 connect to testRoom.
10 people from sfu 2 access the testRoom.

A total of 20 people will conduct a video conference together in the test room.

I’ve read the documentation about scalability, but it’s just a big picture and it’s not a detailed one.

How can I connect those two sfu servers?

I’ve read the community and the documents, but there’s no answer. Do you have a demo or open source for this?

I’m thinking of paying a little bit of money, too. I don’t think it’s going to cost too much.

I really want to solve this problem.

The numbers you posted seem very very low, 10 people in one room is very doable, the thread might lack some context. Gonna throw some subjects that might point you in the right direction, as scaling depends on use case.

  • Use pause/resume to manage video/audio
  • use multicast layers to reduce/bump bandwidth
  • use more than 1 mediasoup worker per room (1 worker = 1 cpu core)
  • have a media server pool and balance rooms across these servers
  • very large rooms will need several media servers to host it, unless you have a really high user base you won’t need this complexity

Hope it helps, best of luck

Thank you for your reply.
I’ve designated 10 people to give an example, but I’d like to have a much larger number of people actually participate.

Connecting multiple media servers in a very large room is a very complicated task, right? Maybe there’s no free open source. I’m willing to pay for small expenses.

And how can I use more than two media group workers per room? It seemed to me that one worker per room was handling everything. I also wanted to use more workers in one room, but I don’t know how. Is this related to pipetransport? Do you have any recommendations?

Try searching for pipeToRouter() API docs, if I remember correctly.

thank you!! I will make sure to implement it!!