0% found this document useful (0 votes)
461 views3 pages

WebRTC Server Side Cheat Sheet

There are 4 types of servers needed to run most WebRTC services: a web server, signaling server, STUN/TURN server, and optionally a media server. The web server handles the user-facing website, the signaling server manages calls and sessions, the STUN/TURN server handles connectivity through firewalls and NATs, and the media server optionally processes media on the server-side if needed. Choosing appropriate technologies and configurations for each type of server is important for successfully building a WebRTC product.

Uploaded by

Michael Kha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
461 views3 pages

WebRTC Server Side Cheat Sheet

There are 4 types of servers needed to run most WebRTC services: a web server, signaling server, STUN/TURN server, and optionally a media server. The web server handles the user-facing website, the signaling server manages calls and sessions, the STUN/TURN server handles connectivity through firewalls and NATs, and the media server optionally processes media on the server-side if needed. Choosing appropriate technologies and configurations for each type of server is important for successfully building a WebRTC product.

Uploaded by

Michael Kha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

WebRTC Server Side Cheat Sheet

If you want to build a WebRTC product that works, you will need to first
understand what server side components are necessary. Only then will you be
able to pick out your technology stack and architecture to fit your needs.

WebRTC is a rather new technology that needs more than just a “regular” web server
and your good ol’ browser.

There are 3 additional server types you will need to deal with and deploy to get that
product of yours running well. In this brief cheat sheet, I want to share with you what
these servers are, their machine specification and what other developers are doing to
successfully build their WebRTC products.

- Tsahi Levent-Levi

There are 4 servers needed to run most WebRTC services:

#1 - Web Server
The server “behind” the URL users place in their browser. Built
from every-day web development technologies

 Have one already? Great. See if you can merge it CPU

with the signaling server Memory

 Need to decide? Start by picking a singling server Storage

and then decide on your web server technology Network

Like this? Learn more about WebRTC development:


http://bit.ly/webrtc-architecture
#2 – Signaling Server
The server handling calls, sessions and rooms. Used to send
SDP offer/answer messages between WebRTC devices

 Go for an asynchronous language/framework, CPU

preferably based on Node.js Memory

 Check github for existing solutions Storage

 Explore the use of SaaS: Firebase, PubNub, Network

Pusher, …

#3 – STUN/TURN Server
Takes care of making sure media gets connected, even if there
are firewalls and NATs along the route

 Don’t use public, freely available STUN servers in CPU

production Memory

 Deploy COTURN or restund on your own Storage

 Or use a managed service from XirSys, Twilio, Bit6, Network

#4 – Media Server
Optional, used when you need to process media in one way or
another on the server side

 Most products end up needing media servers CPU

 Their specification and technology stack depends Memory

on your exact needs… Storage

 See below for a few examples Network

Like this? Learn more about WebRTC development:


http://bit.ly/webrtc-architecture
SFU – Routing Media
Group video calling where the server routes media between the participants

 The popular choice for multiparty in WebRTC CPU

 Look at Jitsi, Kurento, mediasoup, SwitchRTC and Memory

Intel CS for WebRTC Storage


Network

MCU – Mixing Media


Group video calling where the server mixes and combines media inputs into a single
stream sent to the participants

 Usually adopted when connecting to external CPU

system such as telephony and video streaming Memory

 Look at Kurento, Intel CS for WebRTC and Dialogic Storage

PowerMedia XMS Network

Recording Server
Optional, used when you need to process media in one way or another on the server
side

 It depends on how you want to record – the streams CPU


?
received, or post processed for single file playback Memory

 Look at your SFU and MCU solutions to see how Storage

recording fits into their architecture Network

Don’t forget CPaaS


Communications Platform as a Service – fully managed (and hopefully with the
features on you need)

 Less development effort


 Less ongoing maintenance
 Lower risk

Like this? Learn more about WebRTC development:


http://bit.ly/webrtc-architecture

You might also like