DEV Community

Varun Gujarathi
Varun Gujarathi

Posted on

Video Meeting/Calling workflow

Video calling has become an essential tool for communication, allowing people to connect face-to-face regardless of location. WebRTC (Web Real-Time Communication) is a technology that enables real-time video, audio, and data communication directly between browsers and mobile applications. In this article, we will explore how video calling works using WebRTC, the many-to-many nature of video calls, the role of Selective Forwarding Units (SFUs), and how they help reduce bandwidth.

Basic Workflow of a WebRTC Video Call

  1. User Media Capture: Each client captures audio and video from their devices.
  2. Peer Connection Establishment: Peer connection objects are created to handle the connection between peers.
  3. Signaling: Signaling is the process of exchanging session control messages used to initialize the connection. This typically involves a signaling server to facilitate the exchange of ICE candidates, session descriptions (SDP), and other metadata.
  4. Media Exchange: Once the connection is established, media streams (audio and video) are exchanged directly between peers using the peer connection.

In video calling every participant in the call sends and receives video streams simultaneously. This can lead to significant bandwidth consumption, as each participant needs to maintain multiple peer-to-peer connections.

Challenges in Many-to-Many Video Calling

Bandwidth Usage: Each participant must upload their video stream to multiple peers and download multiple video streams from others, which can quickly overwhelm network bandwidth.
Scalability: As the number of participants increases, the number of required peer-to-peer connections grows exponentially, making it difficult to maintain stable and high-quality connections.

Top comments (0)