WebRTC is a protocol that enables real-time media communication. While the core WebRTC protocol is not used directly in today's industry due to the availability of more efficient and faster libraries that abstract much of the complexities, having a basic understanding of it is still beneficial.

Some Jargons Used in WebRTC

P2P (Peer-to-Peer)

WebRTC is a peer-to-peer communication protocol, meaning you don't need a central server to transmit media between clients. Technically, you need a central signaling server to share contact details, such as public IPs, between peers. However, for the core communication, the media is directly transmitted between clients without going through a server. This results in very low latency, making it suitable for real-time communication applications like video calling.


Signaling Server

A signaling server is responsible for the initial exchange of IP addresses and other necessary information between peers to establish communication. Both clients contact this signaling server to exchange their IP addresses and other details. You can think of the signaling server as a mutual friend who helps you get in touch with someone you want to meet.


STUN Server

A STUN (Session Traversal Utilities for NAT) server helps clients discover their public IP addresses and port mappings, which are known as ICE (Interactive Connectivity Establishment) candidates. These candidates are then used to establish a connection with the other peer.

example stun server :

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

Untitled

In simple terms, the signaling server is like a dating app that helps you connect with someone you are interested in, while the STUN server is like a system that provides you with your own contact details, which can be challenging to remember as they change depending on your network connection.