Scaling WebRTC Audio

for Gaming and other Applications

Ross Kukulinski / @rosskukulinski / SpeakIt.io

WebRTC is Peer-to-Peer (usually)

Peer-to-Peer is awesome

Until it isn't

Audio Vocabulary 101

Transcoding
Mixing
Acoustic echo cancelation (AEC)

Fully-Meshed Architecture

Meshed Conference

Larger Fully-Meshed Architecture

Meshed Conference

Star Mesh: Endpoint as Mixer

SuperNode Conference

Multi-Star

SuperNode Conference

Multipoint Control Unit (aka 'Media Server')

Media Server Conference

Larger MCU

Media Server Conference

Advantages of MCUs

  • Offloads processing from endpoints
  • Recording / Transcription
  • Re-broadcast (podcasts, live gaming events, etc)
  • Sound Effects / Text-to-Speech / Music

SpeakIt Architecture

SpeakIt WebSocket Mixing Cluster

Media Server Conference

SpeakIt PeerConnection Mixing Cluster

Media Server Conference

External Services

Media Server Conference

Multicast MCUs

Media Server Conference

Multi-Datacenter

Media Server Conference

So, that's cool. Now what?

Analyze your requirements

Roll your own vs Commercial

Open Source vs Off-the-shelf vs Hosted

Thanks!

Ross Kukulinski

ross at SpeakIt.io

@rosskukulinski