If you are visiting this blog, hope that you are already familiar with WebRTC. This would be more into the use cases of WebRTC. Especially our experience with open source WebRTC libraries and tools. We'll discuss setting up, bringing them to production, pros and cons.
This guide would be useful if you are,
- Not willing to use proprietary libraries or third party APIs for your WebRTC application
- Want to build your own WebRTC infrastructure
- Heavily consuming cloud infrastructure
Meetrix.IO provides professional services for webRTC. If you are looking for a service regarding any of the following libraries, please shoot an email to
These are some use cases that we have experienced with and this guide is mainly written with that experience.
- Online Tutoring
- Online Interviewing
- Video Conferencing with SIP integration
- Remote Expert Support
- Real-Time Object Recognition
Here is the list of the tools and libraries that we are going to discuss and a comparison about their features.
|Mode||Web UI||Mobile APP||JS Library||Mobile SDK||Serverside Recording||Horizontal Scalability (out of the box)|
Jitsi is a mature, open-source and complete web-based conferencing system. Jitsi consists of Jitsi Video Bridge (JVB), Jitsi Conference Focus(Jicofo) and Prosody as the default XMPP signalling and message passing component. Backend is written in Java and the front-end is written in react. Jitsi also has native apps built with react-bative and high level SDKs for Android and IOS. Jitsi Video Bridge (JVB) , which is a Selective Forwarding Unit (SFU), is the media server component and the core of Jitsi Meet.
You can easily setup a demo Jitsi Meet on AWS even with a t2 micro instance (with 1Gig Memory and 1 VCPU).
Considering the built in UI, horizontal scalability and the amazing community behind Jitsi, if you are looking for an out of the box video conferencing solution, Jitsi is the way to go. If you want to build a custom video conferencing solution using Jitsi, that can be achieved using
Mediasoup is a relatively new media server that gained traction recently. The coolest thing about MediaSoup is it's ability to be used as a NodeJS package or a Rust crate. This has been developed by a well-known developer in WebRTC echosystem who also developed JSSIP. Mediasoup is written in C++ and exposes a low-level Node API to control the media layer. It supports TypeDefs as well. API is well documented, there are enough examples and the community is active and helpful. Restream and Gather are some of the commercial users of Mediasoup.
Medooze is a C++ media server that can be used in NodeJS and GoLang. It is quite similar to MediaSoup, but the ability to be configured as a MCU differentiates it from Mediasoup. Medooze has been acquired by Cosmos who is another key player in WebRTC. Initially, some of the APIs were not well documented and this could have been the reason for it not being popular among developers. But, recently it has become a rising start.