Build a group video calling app where audio and video are routed through your own server using WebRTC.
Create a one-to-many live streaming platform with adaptive quality so viewers on slow connections get a lower-resolution stream.
Stream audio and video via plain RTP from a device into a custom media pipeline without using a browser.
Handle large group calls efficiently by forwarding each participant's stream through a central SFU instead of peer-to-peer mesh.
You must build your own signaling and room management logic, mediasoup only handles media routing, not participant coordination.
mediasoup is a server-side library for building real-time video and audio applications on the web. It works as what is called an SFU, or Selective Forwarding Unit. In a group video call, rather than having each participant send their video to every other participant directly (which becomes expensive as the group grows), an SFU sits in the middle, receives streams from each person, and forwards the right streams to the right places. mediasoup provides that routing layer. The library is available as a Node.js package and as a Rust crate, so you can use it in server-side code written in either language. The heavy media processing is handled by a C++ worker process running underneath, using highly efficient network I/O. On the client side there are thin TypeScript and C++ libraries that communicate with the server. By design, mediasoup handles only the media layer: getting audio and video from one point to another. It does not prescribe how participants should join a room, how they should signal to each other, or what a user interface should look like. You supply all of that yourself. This intentional minimalism means you can integrate mediasoup into almost any architecture without being forced into a particular pattern. Supported features include handling multiple audio and video streams over a single connection, simulcast (sending multiple quality levels of the same video so viewers on slower connections receive a reduced version), congestion control to adapt to changing network conditions, and data channel messaging. It works with both WebRTC and plain RTP as input and output, over UDP or TCP. Listed use cases include group video chat applications, one-to-many or few-to-many live broadcasting, and general RTP streaming scenarios.
← versatica on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.