Dec 13, 2021

4 min read

WebRTC in a Nutshell (Ep-I)

Introduction to WebRTC

1. Open Source Project

As the name implies, it is an open source project. It is free to use.

2. Peer to Peer

You don’t need an expensive media server for WebRTC. When I say expensive, believe me, it is expensive to use a media server. A video call can need 1 Mbit/s bandwith. If you have a platform with 1000 active users, you will need 1Gbit/s bandwith. What if you have 1 million users?

3. Real-time Communication

Most of us think Audio-Video calls when we hear real-time communication concept. It is not wrong but real-time communication is a wider concept.

4. Applications

When WebRTC first released, it was aiming to Web applications running on Chrome. But today you can develop WebRTC applications on almost all popular browsers, Android, iOS and Desktop platforms.

You can develop a real-time communication app that can work on any platform you like!

WebRTC Supported Platforms

Which products uses WebRTC?

WebRTC became a telecommunication standard for video & audio calls. Most of the popular video call applications already using it. Like;

  • Zoom
  • Microsoft Teams
  • Google Meet & Google Duo
  • Facebook Messenger
  • Jitsi
  • Twilio
  • Discord
WebRTC audio/video minutes statistics in 2017
  • Communication quality (Latency, media quality, stability etc.)
  • Accessing device hardware (Camera, Microphone etc.)
  • Network Usage (Bandwidth usage, network restrictions etc.)
  • Video & Audio encoding/decoding
  • Security
  • UX improving capabilities (noise reduction, echo cancellation etc.)
  • Supporting multiple platforms (Windows, Mac, Linux, Android, iOS etc.)

WebRTC gives application developers to initiate real-time communication ability with using simple API’s.

This API’s as simple as getUserMedia(). As you can guess, the app can access the device’s camera and microphone using this API. We will discuss other important API’s and get in to details in the upcoming articles.

What is the responsibility of Applications?

You may think about that “If WebRTC is so capable what should I do as an app developer?”.

Signalling Channel & Media Channel sample diagrams

WebRTC takes care of the media transportation in media channels, but it expects applications to handle signalling.

We will get in to details on the upcoming articles, but short story is applications should transmit call signalling to each other. As the diagram below demonstrates, your application on Device-1 should interact with WebRTC to reach required API’s and sends requests to Device-2. Then Device-2 should do the same as well and that’s it! WebRTC will take care of media transmission.

WebRTC Signalling and Media Channel Diagrams

Until we meet again, take good care of you!