Multipoint Video Conferencing with WebRTC and an SFU

Xander Dumaine and Dave Ertel

WebRTC

ICE

STUN

TURN

XMPP

Jingle

Jitsi

SFU

ORTC

Colibri

XEP

Signaling

WebRTC

ICE

STUN

TURN

XMPP

Jingle

SFU (Jitsi)

ORTC

Colibri

XEP

Signaling

DTLS/SRTP

Clients

Compare

Architectures

 

SFU
(wheel and spoke)

Compare

Architectures

 

Mesh

(Fully Connected)

Compare

Architectures

 

Mesh

(Fully Connected)

 

 

Coincidence?

Maybe not...

Benefits

  • Stability
  • Reduced CPU and bandwidth for web and mobile clients 
  • Last N
  • Simulcast
  • Federation (Standard Signaling)
  • Video Survivability
  • Recording/SIP Trunking/In-band ICE/Edge Media Service

Costs

  • Bandwidth and CPU for VideoBridge
  • Service Connectivity
  • Service Failure
  • Complexity

Scaling and Failure

  • Bridge Instances unavailable
  • Connectivity between services
  • Signaling service failure
  • Bandwidth and CPU on Bridge
  • Mega Conferences / Broadcasting 
    (spanning multiple bridges)

More Challenges

  • Codecs
  • Unified Vs Plan B (I.e., Firefox?)
  • Data Channels

Complete

Architecture

Before Video
(Signaling)

ICE

Video Requested

Channel Allocation

Streams
Added

Single Client