WebRTC for the rest of us

(Or more like WebRTC ... how does it, even?)

Hayden Braxton

This is me

So WebRTC ...

RTC = Real Time Communication

The goal of WebRTC

Low latency peer-to-peer video, audio, and data

But it's not just for browsers!

And it's not just for video chat!

It's not just for video 🤷‍♂️

So how does it work, actually?

ICE Candidate Exchange

Important Terms

Signaling Server

SDP - Session Description Protocol

STUN - Session Traversal Utilities for NAT

TURN - Traversal Using Relays around NAT

ICE - Interactivity Connection Establishment

ICE Candidate

DTLS - Datagram Transport Layer Security

(S)RTP - Real Time Protocol

RTCP - Real Time Control Protocol

For our STUN/TURN server ...

Open source, all things WebRTC in Go

Let's write some code!

Sample Code

Resources

WebRTC

By haydenbraxton

WebRTC

WebRTC is a collection of protocols that grants computers the power to share data and real time media without the intervention of a server. Well that’s kind of a lie. We still need servers to help establish the connection. But it’s still pretty cool! I don’t suppose you’ve ever used Zoom or Google Hangouts before have you? Well, those use WebRTC too. What if we could build our own video chat? Well, that’s what we’re gonna do. We will build our very own WebRTC video chat app! Along the way, we’ll learn about all the moving pieces involved in establishing peer to peer WebRTC connections. We’ll talk about STUN, TURN, ICE, and a mouthful of other fun acronyms. The build will focus on the front end client, the server they use to introduce themselves to each other, and we’ll deploy open source solutions for anything else we need.

  • 767