WebRTC Basics and WebRTC Components

WebRTC Basics and WebRTC Components

I will introduce the WebRTC basics and technical terms: SDP, ICE, STUN Server, TURN Server, RTP, and Signaling. v

I will introduce the WebRTC basics and technical terms:** SDP, ICE, STUN Server, TURN Server, RTP, and **Signalling.

I want to explain the WebRTC concept with an example. Let Client-A and Client-B are two pairs who want to communicate via WebRTC. Assume that Client-A starts communication.

WebRTC (Web Real-Time Communication)

WebRTC is a set of technologies that enables peer to peer duplex real-time communication between browsers even behind NAT addresses.

In our example, WebRTC is the technology to establish communication between Client-A and Client-B.

SDP (Session Description Protocol)

SDP is a simple string-based protocol and it is to share supported codecs between browsers.

In our example,

  • Client-A creates its SDP ( called offer) and saves as local SDP then shares it with Client-B.
  • Client-B receives the SDP of Client-A and saves it as a remote SDP.
  • Client-B creates its SDP (called answer) and saves as local SDP then shares it with Client-A.
  • Client-A receives the SDP of Client-B and saves it as a remote SDP.

The Signaling Server is responsible for these SDP transfer between peers.

Let assume Client-A may support H264, VP8, and VP9 codecs for video, Opus, and PCM codecs for audio. Client-B may support the only H264 for video and only Opus codec for audio. For this case, the Client-A and Client-B will use H264 and Opus for codecs. If there are no common codecs between peers, peer to peer communication cannot be established.

webrtc programming

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Programming In Acceleration: Levelling Up Programming Skills

Some require and some are not. But acceleration programs might require you to build one. I’ll tell you how I made a computer program for the competition.

Coding 101: Programming Language Building Blocks

This article will introduce the concepts and topics common to all programming languages, that beginners and experts must know!

Guide to Python Programming Language

Guide to Python Programming Language

Functional Programming

Functional Programming: Functional Programming is a Declarative style of Programming Paradigm for writing computer programs.

How to Choose a Programming Language to Learn

We are surrounded by hundreds of programming languages, but you can’t learn all of them. In this article, I am going to explain a few simple points to consider while choosing your next programming language to learn.