×

Search anything:

WebRTC [Introduction]

Binary Tree book by OpenGenus

Open-Source Internship opportunity by OpenGenus for programmers. Apply now.

This article is an introduction into WebRTC, a free and open-source project providing web browsers and mobile applications with real-time communication via application programming interfaces. A purposeful HTML5 specification that you can use to add real time media communications directly between browser and devices.

Table of Contents:-

  • Introduction to WebRTC
  • The Design
  • Topology
  • Applications
  • Supported Browsers
  • Conclusion

Introduction to WebRTC

WebRTC stands for "Web Real-Time Communication" is a technology that enables Web applications and sites to capture and optionally stream audio and/or video media, as well as to exchange arbitrary data between browsers without requiring an intermediary. The concept is that it's meant for direct connection. With WebRTC, you can build applications such as video chat, file sharing, and screen sharing without installing plugins or third-party software. It implement open standards for real-time, plugin-free video, audio and data communication.
WebRTC is available on major browsers like, Google Chrome, Safari, Firefox and Opera. You can also find WebRTC-enabled email clients, messaging apps, and VoIP services

The Design

Major components of WebRTC include several JavaScript APIs:

getUserMedia getUserMedia is a part of the WebRTC API that is used to get access to the camera and microphone used by a device. Its the gateway into the other set of APIs.

RTCPeerConnection RTCPeerConnection API is built for javascript. This is a connection interface that initiate a WebRTC link between a computer and remote peer. This API coordinates the exchange of important set of data between two browsers

RTCDataChannel RTCDataChannel this is a part of the WebRTC API that allows a user to open a channel between peers to send and recieve data

Topology

WebRTC topologies can be divided into three categories or segements depending on the components in the system and the way they interact. These topologies are Peer-To-Peer (P2P), Selective Forwarding (SFU), and Multi-Point Control (MCU).

  1. Peer-To-Peer (P2P) Architecture

Peertopeer-funsho

A Peer-To-Peer (P2P) topology consist of a decentralized network of peers. A kind of distributed topology that partitions assignments among peers. In this type of relationship the links are shared equally

Some setbacks associated with a Peer-To-Peer (P2P) topology is the inability to back up data, as the architecture has no unique server and its difficult to provide data security .

  1. Selective Forwarding (SFU) Architecture

sfu

SFU means Selective Forwading Unit. This WebRTC API are very important media servers that handles group calls and live broadcast. These are mostly used in VoIP(Voice over Internet Protocol and video conferencing.

Some of its advantage includes the ability to work with asymmetric bandwidth. Very suitable for asymmentri uplink and downlink metworks.

  1. Multi-Point Control (MCU) Architecture

muc

Multi-Point Control (MCU) is a component mostly used for videoconferencing connections. An integral part of a multi-user conferencing systems. This device connects the users of a video conferencing system within a single network.

Advantages of Multi-Point Control(MCU) includes the ability for the client to connects to the media server directly. Although if two Internet Service Providers are on the same frequency there will be interference for both the parties. Also the entire network can shutdown if there is a problem. Therefore, MCU is typically only used in large-scale systems where low latency is essential.

Application

Webrtc-apps-funsho

You can group WebRTC applications into 4 categories:

Conversational voice and video – This is also commonly called VoIP(Voice over Internet Protocol). It can be termed as the transmission of voice and multimedia quantum over an internet connection. This enable users to make calls over a smartphone, computers and the rest

Live streaming – Live streaming is the technology that allows the to transmisson or reception of live video and audio coverage of an event over the internet. WebRTC supports interactive live streaming between clients and browser -to-browser communications through sets of protocols

Data transfer – Data transfer and reception is the transfer of any type of information from one location to the other through some communication method. WebRTC datachannels API allows the transmission of arbitrary data directly between two users.

Supported Browsers

Webrtc-browser-support-Funsho

WebRTC provides real-time communication between browsers and devices. It's available in all major browsers, including Chrome, Firefox, Opera, and Safari. It works without plugins or downloads, making it easy to use and accessible.

Conclusion

WebRTC, a protocol that was designed to enable direct communication between browsers. It includes a set of classes and methods to standardize the process. The Web is no more a stranger to real-time communication as WebRTC (Web Real-Time Communication) comes into play. Although it was released in May 2011, it is still developing and its standards are changing. In November 2017, the WebRTC 1.0 specification transitioned from Working Draft to Candidate Recommendation. In January 2021, the WebRTC 1.0 specification transitioned from Candidate Recommendation to Recommendation The real-time web opens the door to a whole new range of applications, including text-based chat, screen and file sharing, gaming, video chat, and more. Besides communication you can use WebRTC for other purposes like −
  • Real-time marketing
  • Real-time advertising
  • Back office communications (CRM, ERP, SCM, FFM)
  • HR management
  • Social networking
  • Dating services
  • Online medical consultations
  • Financial services
  • Surveillance
  • Multiplayer games
  • Live broadcasting
  • E-learning
WebRTC [Introduction]
Share this