All Included Webrtc Training For Developers: A Separate Course For Support Teams Is Available
All Included Webrtc Training For Developers: A Separate Course For Support Teams Is Available
All Included Webrtc Training For Developers: A Separate Course For Support Teams Is Available
June 2021
TRAINING OVERVIEW
WebRTC is the most interesting VoIP technology in the last decade. It enables real time voice and
video communications from browsers. Companies big and small are using WebRTC to fit into their
business processes. The BlogGeek.me ALL INCLUDED WebRTC Training for Developers is
comprised of 3 courses that are meant to assist in the process of putting the best possible WebRTC
architecture in place and successfully developing, launching and maintaining WebRTC applications.
The goal of these WebRTC courses is to bring students up to speed with WebRTC and enable them
to make better product decisions, in effect, making them professional WebRTC developers.
The BlogGeek.me WebRTC Training courses are the only online resources on WebRTC that are:
1 Up to date with the standard specification and the industry around it
2 Offer a simple, linear view of WebRTC, designed for easier learning experience
3 Include a thorough review of all adjacent technologies
One you enroll, you’ll be able to work through the modules and lessons by order or skip to the ones
that you need at any given time.
over WebRTC. The office hours will include additional learning materials to assist students. Office hours are a
great opportunity to ask any questions related to WebRTC. They are conducted twice a day on a weekly basis,
Besides the office hours, students can and are encouraged to use the chat widget to ask questions that arise
throughout their training. There is also a Slack workspace dedicated for the course.
It is assumed that you have some technical background and inclination around software.
The course has been designed to be suitable for both people who come from the VoIP industry as well as those
telecommunications.
Tsahi is the author and editor of BlogGeek.me, which focuses on the ecosystem and business opportunities
around WebRTC. Tsahi is the co-founder and CEO of testRTC, a company assisting companies to test,
monitor and support their WebRTC based products. He is also a co-founder of Kranky Geek, a conference for
WebRTC for developers, sponsored by Google.
CORPORATE
• Designed for enterprises who need to send multiple employees to the course
• Show corporate logo on course partners page (https://webrtccourse.com/partners/)
• Built around the ALL INCLUDED plan for each participant with additional features:
Minimum # of students 1 5 20 50 -
Join over
1,000 students
from more than
100 companies
The Advanced WebRTC Architecture course is a must-have for anyone interested in WebRTC. Tsahi
takes you through everything you need to know about WebRTC at the business and technical
architecture level. It's required viewing for all new hires in our team!”
The course is well laid-out and current. I work with this technology in an Ops capacity, so it’s great
to learn this material more thoroughly rather than piecemeal from my co-workers as I have been.”
Heather Young | Dev/Ops & Process Guru | &yet
Our organization is new to WebRTC so many of these concepts were foreign to us. BlogGeek’s
WebRTC course breaks these concepts up into relatable and easily understood modules which
when put all together creates a very clear picture into how WebRTC works. This training has been
invaluable to our organization and has equipped our team with enough knowledge and
understanding to troubleshoot issues and better support our conferencing platform.”
This course is very convenient to get a “linear walk-through” of WebRTC, so I don’t get lost in a sea
of more or less important information. Complementing that with some links for each lesson is also
very good.”
We’ve signed up our team to the course and the immediate feedback was very positive.
The content and the flow make it easier to learn WebRTC, and there’s a good balance for beginners
as well as intermediate level of engineers.”
Advanced WebRTC
MODULE 1 THE BASICS OF WEBRTC
ALL INCLUDED
A bird’s eye view to what WebRTCis and how it works.
This module covers the history of WebRTC as well as its current state. Various touch points of
WebRTC and what APIs are available to developers and where will be discussed.
Lessons:
• Introduction – introduction to the course. An explanation to all course modules and the logic
behind them
• What is WebRTC? – a look at what is WebRTC and what is it used for
• Browsers and device coverage - understanding where WebRTC is available, on which
browsers and mobile devices. What do developers do when they want to use it where it isn’t
available
• WebRTC APIs - an overview of the JS APIs provided by WebRTC and the basic structure of a
peer connection and its media elements
MODULE 2
NETWORKING BASICS BASICS
NETWORKING
Advanced WebRTC
ALL INCLUDED
WebRTC relies on computer networking. This module explains the various transport protocols
with a focus on browser networking and WebRTC related aspects of it, such as NAT traversal.
You'll understand why and how ICE is used in WebRTC sessions.
Lessons:
• TCP and UDP - the underlying building blocks of the modern internet. A look at what these
transport protocols are and what they are used for
• HTTP - HTTP is how we surf the internet today. This lesson will review how HTTP is used,
along with the progress from HTTP 1.0 to today’s HTTP/2
• WebSockets - the modern generation of interactive communications in browsers. This
transport protocol plays an important role in most WebRTC applications
• NAT Traversal - in this lesson, we cover firewall and NAT limitations on communications and
the solutions available to WebRTC: ICE, STUN and TURN
• The 3 layers of VoIP - a philosophical look at today’s VoIP applications and where innovation
takes place
Advanced WebRTC
MODULE 3 WEBRTC SIGNALING
ALL INCLUDED
WebRTC has no signaling, but it is still needed for WebRTC to work. Here we will touch the
various transport and signaling protocols available to you and discuss topics such as SDP and
security in WebRTC. By the end of this module, you will be able to select the signaling module for
your application.
Lessons:
• Transport protocols in WebRTC - the underlying communication mechanism used by WebRTC
applications is the transport protocol. The various alternatives are reviewed in this lesson
• Signaling protocols in WebRTC - WebRTC offers a wide variety of signaling protocol
alternatives. From SIP and XMPP to MQTT as well as proprietary solutions. This lesson will
review the options available and which signaling protocol to choose for what use case
• SDP - Session Description Protocol along with JSEP play an important role in connecting
media sessions on WebRTC. This lesson covers this topic
• Security - security in WebRTC happens in all layers of the stack. This lesson deals with own
security is handled by WebRTC and the application using it
• Screen sharing - how screen sharing is implemented in WebRTC applications
WEB
Advanced WebRTC
MODULE 4 CODECS
ALL INCLUDED
To send audio and video means dealing with Codecs. This module covers all you need to know
(and more) about the codecs that WebRTC uses. You will be able to pick the codecs you'll want
to use for your WebRTC service once we're done with this module.
Lessons:
• Basics of voice codecs - an overview of voice codecs with a special focus on VoIP
characteristics of voice codecs
• Opus - explanation of the most important voice codec in WebRTC
• Other voice codecs (and WebRTC) - what other voice codecs are widely used and how to
connect them to WebRTC when needed
• Basics of video codecs - an overview of video codecs with a special focus on VoIP and real
time communications characteristics of video codecs
• VP8 and H.264 - the mandatory to implement video codecs in WebRTC. Where are they
available, and when to use each of these alternatives
• VP9 (and HEVC) - a look at VP9 along with its royalty bearing alternative HEVC. We will see
when and how are these video codecs useful
• AV1 – a look at the future of WebRTC video coding. Here we cover AV1 and the Alliance of
Open Media, trying to see when AV1 will become relevant
Advanced WebRTC
MODULE 5 MEDIA PROCESSING
ALL INCLUDED
Group calling? Recording? These are tough nuggets in media processing. This is why we have
this module, which goes through the various multiparty architectures, explains them in detail
along with the best approaches of using them.
Lessons:
• RTP and RTCP - how RTP, RTCP and SRTP are used in WebRTC as the media transport
protocol. Includes an explanation of multiplexing and bundling of sessions
• Mesh - mesh architectures in group calls
• Mixing (MCU) - Multipoint Conferencing Unit and mixing media inputs in large group calls
• Routing (SFU) - Selective Forwarding Unit and routing media inputs in large group calls.
Includes explanation of simulcast and SVC
• Recording - recording alternatives in WebRTC. Includes both server-side and client-side
recording solutions. When to choose which option
• Transcoding - how transcoding is done with WebRTC, and recent trends in this area
Advanced WebRTC
MODULE 6 3rd PARTY FRAMEWORKS AND SERVICES
ALL INCLUDED
Here's a secret for you: No one develops using WebRTC from scratch these days. Everyone uses
a framework of sorts, be it open source or commercial. After going through this module, you'll
understand the ecosystem around WebRTC and be able to pick tools into your WebRTC
technology stack.
Lessons:
• Development strategies for WebRTC - how different vendors are tackling development of
WebRTC applications
• Signaling alternatives - a review of available open source, commercial and hosted/managed
alternatives for WebRTC signaling
• Media server alternatives - an explanation and high-level architecture review of the popular
open source media servers for WebRTC
• WebRTC PaaS - CPaaS, Communication Platform as a Service, offering WebRTC capabilities.
Who uses them and why
• VoIP frameworks - a look at VoIP specific WebRTC solutions that need to connect to SIP and
PSTN
• Testing and monitoring - a look at DIY, open source and commercial alternatives to testing
and monitoring, along with challenges and best practices in this domain
Advanced WebRTC
MODULE 7 COMMON WEBRTC DESIGN PATTERNS
ALL INCLUDED
This module acts as a summary for this course. It holds a lot of common design patterns of
applications, so you can go through them and see how all the lessons fit into a single architecture
of an application.
Lessons:
• Media flows in WebRTC - examples of different media flows in WebRTC use cases, covering
media servers and various NAT traversal scenarios
• Meetings recorder - how to add media recording capabilities to an application. What are the
alternatives available? When to use which option
• Multiparty conferences - design of multiparty video service, with a deep dive to UI/UX and
screen layout aspects of the service
• Webinar / Low latency live broadcasting - how to build and scale a broadcasting service using
WebRTC
• PSTN connectivity - connecting WebRTC to legacy telephony networks
• Optimizing large group calls - an overview of the tools available to us in WebRTC when it is
time to implement multiparty video or voice conferences
Advanced WebRTC
MODULE 8 BONUS LESSONS
ALL INCLUDED
The
The "etc"
"etc" module
module ofof this
this course.
course.
Here,
Here, lessons
lessons that
that just
just didn't
didn't fit fit elsewhere
elsewhere butbut
areare highly
highly relevant
relevant andand important
important found
found their
their place.
place.
They They
range range
from from requirements,
requirements, through standardization
through standardization processesprocesses alltothe
all the way way to media
media
algorithms
algorithms and
and TURN
TURN configuration
configuration and
and deployment.
deployment.
Lessons:
Lessons:
• WebRTC standardization - explanation of how WebRTC standardization works and what to
expect of it moving forward
• Writing RFP requirements for WebRTC - a suggested workflow and template for creating
requirements for WebRTC applications
• Media algorithms - a look at adaptive jitter buffers, echo cancellation and other media
algorithms used in VoIP and WebRTC
• Mini: WebRTC server-side basics - the free mini course on WebRTC servers
• Mini: H.264 vs VP8? - the free mini course on selecting a video codec for WebRTC
applications
• Mini: Effectively connecting WebRTC sessions - how to connect more of your sessions
properly
• WebRTC 1.0 - a webinar recording about the changes made to WebRTC 1.0
• Live: Video quality in WebRTC - a webinar recording of aspects related to video quality of
WebRTC applications
• Live: Deploy (co)TURN on AWS - a webinar recording of deployment configuration for
COTURN servers on AWS
WebRTC Tooling
MODULE A IN 10 MINUTES OR LESS
ALL INCLUDED
A collection of focused interviews with the people behind the most popular WebRTC tools used
by developers:
• Janus - Lorenzo Miniero
• Jitsi - Saúl Ibarra Corretgé
• Kurento - Juan Navarro
• mediasoup - Iñaki Baz Castillo and José Luis Millán
• openVidu - Pablo Fuente
• adapter.js - Philipp Hancke
• Microsoft WebRTC in UWP - James Cadd
• Pion WebRTC - Sean Dubois
• Ant Media - Ahmet Oguz Mermerkaya
• Frozen Mountain - Anton Venema
• Red5 Pro - Dima Nazarenko
SNIP
WebRTC Tooling
MODULE B SNIPPETS
ALL INCLUDED
The "etc" module of this course.
A growing collection of short lessons (3-8 minutes each) covering specific topics in an actionable
Here, lessons that just didn't fit elsewhere but are highly relevant and important found their
format.
place. They range from requirements, through standardization processes all the way to media
Snippets:
• algorithms and TURN
WebRTC session configuration and deployment.
disconnections
• Lessons:
ICE configuration
• A quick review of QUIC
• Synchronizing data channel and video
• What's the difference between Plan B and Unified Plan
• How does WebRTC estimate bandwidth?
• HTTP/2 or WebSocket
• Fault tolerance and high availability
• mDNS and <host>.local ICE candidates
• Best practices in media server location
• ICE, Trickle ICE, ICE lite and ICE-TCP
• What and how to log in WebRTC
• How are ICE connectivity checks conducted?
• Resolutions and bitrates for codecs
• Live transcription in WebRTC
- 10 - ADVANCED WEBRTC
ARCHITECTURE
CURRICULUM (WEBRTC CODLAB)
3
WebRTC Codelab
MODULE A Overview
ALL INCLUDED
Introduction to the codelab:
• Overview - welcome to the codelab!
• Preparation - get the code and prepare your environment for the codelab
• Run the sample - get acquainted with the codelab sample application
Walk
WebRTC Codelab
MODULE B Walk-through
ALL INCLUDED
The "etc"
Review andmodule of this
understand thecourse.
code in the sample application:
• Here, lessonswalkthrough
index.html that just didn't
- getfitacquainted
elsewherewith
but are
the highly relevant
index.html and the
file that important
browserfound their
will run in
place. They range
our reference appfrom requirements, through standardization processes all the way to media
• algorithms
Signaling 101
and -TURN
an overview of the signaling
configuration mechanism we are using in this sample
and deployment.
• Lessons:
Signaling 102 - walkthrough of our signaling protocol and its implementation on the browser
side
• Setting up STUN - configuring STUN on our peer connection the correct way
• Muting and unmuting - how to mute and unmute audio and video in a WebRTC session
• Screen sharing - how do we switch the session to a screen sharing one?
• Hanging up - explaining how hangup and session closure takes place with WebRTC and the
signaling around it
• Connection states - review some important connection states in WebRTC and what to do with
them
• Look at statistics - time to see how we can make use pf getstats()
• Summary
WebRTC Codelab
MODULE A Exercises
ALL INCLUDED
- 11 - ADVANCED WEBRTC
ARCHITECTURE