After somewhere between 200 to 300 hours worth of surfing, digging, surfing, and digging some more, I believe that I have finally gotten a good grasp of Mediasoup. And to be honest with you I’m not as impressed as I thought I would be. I finally figured it all out, just to be slapped in the face by the fact that every bit of it is just as possible using a basic API over rest or even UNIX domain sockets. Every bit of Mediasoup that makes it shine is the service that exists within the C++ worker. The Javascript API really doesn’t provide anything. A perfect example is to compare Mediasoup to Janus, which is actually a pretty tight race in most ways. To be honest, I’m less than impressed. The truth is that it’s the geek in me that was drawn to Mediasoup. The Javascript API is beautiful for what it is. But the geek in me is also somewhat offended by the fact that at least some in the Mediasoup team thinks that you should stop at the Javascript API. I’m guessing they know that the C++ service is where Mediasoup truly shines and that native service is their baby - and that they don’t want anybody to touch it. To quote IBC
Just to be clear: we don’t help people that take mediasoup code and ask questions to implement their own private media servers.
I actually find that very offensive as an opensource contributor, looking for the same information as the original poster. His first response was “That’s internal stuff”, which I would understand if it was meant to say “Mediasoup is complicated internally, so we prefer to help others with it’s higher level API”. But his following reply proved just the opposite. That his concern is people who may be able to grasp it might “take the code”. This is not compatible with the opensouce development philosophy and if anything it make me want to dig even more.
I’m going to make documenting Mediasoup’s IPC a pet project of mine. And I’m going to create a basic wrapper to prove that it can be controlled over REST using any type of client you want. I’m sure the response will be “that’s unsafe”, when really, presenting an overly complicated API is an more insecure practice. If your worried our little minds can’t handle it why go far out of the way to make a set of complicated abstractions of very basic concepts, that ultimately don’t even intuitively fit into WebRTC’s existing design?
I truly understand the frustration but you gotta consider that maintaining something as complex as mediasoup requires time and that time is unpaid.
Also, you cannot expect people to consider your opinions valid from the start, e.g. the IPC to HTTP API you mention. You can fork and prove to others it’s the right way to go. From my understanding that is the great value of open source.
This is the most stupid comment I’ve ever seen. If we don’t want that anyone touches the native side, why do we have so many contributors writing PRs that heavily affect and modify the native side? I’m sorry if you are so offended and not impressed at all. I don’t care at all.
The project is open-source, just because people don’t want to hold your hand through this and you’ve spent just more than 7 days in time researching–that’s pretty lame. Many of these guys have spent years learning how this works, you’re not really going to be contributing to much without a full understanding.
Hope you refrain from being an asshole and perhaps spend a bit more time proof-reading before you hit reply/submit; absolutely childish.