If you are visiting this blog, hope that you are already familiar with WebRTC. This guide will not cover the basics of WebRTC
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
What this guide is about
Well, this would be more in to the use cases of webrtc. Specially our experience with opensource WebRTC libraries and tools. We’ll discuss about settingup, 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 using AWS infrastructure
Note: This might not discuss about all the available WebRTC libraries and tools, but the ones we have experienced.
What this is Not About
Definitely this is not an introduction to WebRTC. And this might not be useful in following cases.
- If you dont want to manage your own WebRTC infrastructure
- If you just need a single peer to peer connection, and not looking for scale it up.
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 comparision about their features.
|P2P||SFU Mode||MCU Mode||Chat||Screen Sharing||File Sharing||Recording||Mobile SDK|
Jitsi is a matured open-source web-based conferencing system. Jitsi project has an open-source and complete video conferencing solution similar to Google Hangouts called Jitsi Meet. It consists with Jitsi Video Bridge (JVB), Jitsi Conference Focus(Jicofo) and Prosody as default XMPP signaling 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) is the core of Jitsi Meet. It’s a Selective Forwarding Unit (SFU) which means it works as a video relay and
does not mix the video streams together to generate a composite conference video. If there is a video conference with 3 users,
A will be sending his stream to to JVB. JVB will be relaying the video stream to
In this case, each user will be uploading one video stream and downloading two video streams. An advantage of SFU over P2P model is, you only have one upstream. But you have same number of down streams as P2P model. Compared to MCU an advantage of SFU is that you do not need a lot of computing power since the video streams does not get mixed. You can easily setup a demo Jitsi Meet on AWS even with a t2 micro instance (with 1Gig Memory an 1 VCPU). The major disadvantage of SFU is that, the server and participants should have a lot of available bandwidth. So remember, if you setup Jitsi Meet, you need to have a good bandwidth.