"Web Real-Time Communication (WebRTC) is a collection of standards, protocols, and JavaScript APIs, the combination of which enables peer-to-peer audio, video, and data sharing between browsers (peers). Instead of relying on third-party plug-ins or proprietary software, WebRTC turns real-time communication into a standard feature that any web application can leverage via a simple JavaScript API." 1

WebRTC implements three APIs:

  • MediaStream (aka getUserMedia)
  • RTCPeerConnection
  • RTCDataChannel

WebRTC needs servers ...

  • Signalling

An exchange of metadata is required before peer-to-peer audio, video or data streaming can take place. This process is called signaling.

  • STUN
  • TURN
  • ICE


Javascript Session Establishment Protocol (JSEP)

Session Description Protocol format (SDP)