Workload, garanties, arguments, help me choose MediasSoup


I’m a developper working for an IT service company and we are concidering the integration of a WebRTC Media Server to hour pool of services.
Well the initial goal was just to have an online meeting solution, but I am advocating for a more versatile solution, spreading overall everything else and being fully integrated to our UX.

I want to scale whatever solution we pick as a tool that can be used to:

  1. seamlessly switch from peer to peer to client server (if more than X in a communication for example).
  2. switch between SFU and MCU ( depending on bandwidth or workload restrictions).
  3. seemlessly switch between a casual discussion, a meeting, a conference and a broadcast context.
  4. start record and/or streaming anytime.
  5. the user can seamlessly share his webcam, a canvas, his sceen or an IoT device.

I know all of this doesn’t depend entirely on your solution, but my first question is for a confirmation that your solution is compatible with, and makes easier, these usage?

So, I am following a few trails, mainly Janus and Kurento, and maybe Ant Media or Jitsy, and maybe also MediaSoup.
You have something I really like over the others, namely the node.js integration and everything it implies :trophy:
But the reason why I tend to lean torward Janus and Kurento so far is that although they are low lever and open source (like you) they also have a font (Meetecho and OpenVidu respectively) that assures that these tools are used in dog fed big productions, maintained, and have a long term engagement.

That leads me to my second question, what about you? Do you have a business associated with this solution?

And as for my third question, that’s a pickle for me… my compagny asked me to evaluate the workload.
I suck at that… I guess we all do, but I am terrible.
Do you have any documentation or experience from your community to share on that?
I am interessted in both absolute (mandays) and relative (faster than X solution because) data.

Thanks a lot for reading and whatever we end up picking, thank you for all the great worlk.
This is an impressive solution.


Everything you’ve described is, of course, technically possible.

I would not recommend Kurento, it seems to be a dead project.

Mediasoup is used at scale in production by multiple companies with great success.

Mediasoup is a low-level library, so, ideally, you need to understand what WebRTC is and how it works on a decent level and being able to write the whole application using library depending on your requirements. But it is a substantial effort. Check the docs, there is both high-level overview and API docs there with lots of information.

Would it be good or bad? Unclear for me.

I’m not gonna try to justify why you should use mediasoup even if we don’t run a company behind it. Maybe having a company behind mediasoup would make someone feel better, but it is a false dilemma.

P.S. I cannot say names, but you wouldn’t believe which companies are already using mediasoup in production.

1 Like

Hi, thanks for answering swiftly.

@nazar-pc I have used WebRTC quiet a lot, for peer to peer. That’s why I know very well the gap between using WebRTC and having a proper solution using WebRTC. So I was hopping for some concrete arguments for stability and ease of deployment to sell it to my company. But I guess it’s hard to evaluate…
PS: Your tip on Kurentois extremly valuable… Their promise was great but if they have indeed slowed development, I have to be carefull.

@ibc I understand that having a company backing the project is not a full proof garanty, it might even sound as a risk of having the project being limited in features (to sell the main product).
It’s more the dog feeding that interest me. It is usualy a good sign for stability and updates, and a good way to sell this solution to a company. “they depend on it, maybe we can”.
On the other end, if it’s your week end project, no matter the quality, it might feel more at risk of being ditched if you find another hobby. I am being charicatural on purpose, nobody does such a complete project on a whim, but it’s harder to convince my company of “passion” than it is of “he makes good money on it”. But I’ll do my best showing what I find. for example.

Thank you for your time.

I understood you were charicatural on purpose, but I fail to see how a project whose first release 1.0.0 was in 2017, has 2,448 commits, various important and active contributors, at least 2 new releases per month, and many companies using it, may fit into a “week end project”.

My company relies (among other OS projects) on mediasoup. But I’m not gonna try to convince you. The good thing here is that you can check the project history and activity, the forum, the community behind it, etc. If that is not enough for your company and they need some kind of “company” behind the project, well, ok. Funny thing here is that they may not apply same requirements for other software or frameworks such as Node, React, webpack and a huge list of well known OS pieces out there.

Funny thing… I am just terrible at this kind of exercises.
I usualy work alone, on my own projects: multimedia projects, games, etc.
Punctual projects I don’t need to maintain so I usually don’t care about long run dependencies.
So by giving me those crierias, and although they seem so obvious to you that I have offended you while clumsingly trying to explaining myself, you are actually helping me a lot.
I’ll take them in concideration and check how they compare with others.

I promise you didn’t.

1 Like