All Included Webrtc Training For Developers: A Separate Course For Support Teams Is Available

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

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.

WHY THESE WEBRTC COURSES?


There’s a lot of information about WebRTC on the internet and a few courses and books as well.

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

4 Contain a mapping of open source and commercial WebRTC tools

WHO WOULD BENEFIT FROM THESE COURSES?


Anyone who needs to deal with WebRTC as part of his job:
• Developers and QA engineers
• System architects and Lead engineers
• Technical pre-sales, IT, DevOps and Support engineers
• Product and project managers

WHAT’S IN THE ALL INCLUDED WEBRTC TRAINING FOR DEVELPERS?


The courses span over 12 training modules with over 80 recorded lessons in total.

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.

- A detailed curriculum can be found later in this document.


- Each course module contains multiple lessons.
- Lessons include a recorded video, textual explanation and links, glossary, lesson brief and Q&A.
- Total courses length is about 24 hours of video recordings.
- The courses have last been updated in June 2021.

-1- ADVANCED WEBRTC


ARCHITECTURE
OFFICE HOURS
Twice a year, office hours are conducted. For a period of ~3 months, 10-12 live office hours will be conducted

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,

covering all time zones.

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.

ARE THERE ANY PREREQUISITES?


Yes and no.

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

who have a web background.

ABOUT THE INSTRUCTOR


Tsahi Levent-Levi is an Independent Analyst and Consultant for WebRTC.

Tsahi Levent-Levi has over 20 years of experience in the telecommunications,

VoIP and 3G industry as an engineer, manager, marketer and CTO. Tsahi is an

entrepreneur, independent analyst and consultant, assisting companies to

form a bridge between technologies and business strategy in the domain of

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.

Tsahi serves as a W3C Evangelist for everything WebRTC.

-2- ADVANCED WEBRTC


ARCHITECTURE
COURSE PLANS
INDIVIDUAL
WebRTC Codelab Advanced WebRTC WebRTC Tooling ALL INCLUDED

$500 $600 $300 $1,100

Modules Modules Modules Courses


Overview Introduction Vendor interviews WebRTC Codelab
Walk-through Networking Snippets +
Exercises Signaling Advanced WebRTC
Resources library Codecs +
Media processing WebRTC Tooling
3rd party
Design patterns
Bonus lessons

12 months access 12 months access 12 months access 12 months access

Mobile app Mobile app Mobile app Mobile app

Online chat Online chat Online chat Online chat

Office hours Office hours

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:

• Unlimited yearly access to all materials


• Group management and progress tracking
• Office hours when a course is active (twice a year)
• 2 private consultation calls for personal live training

PLAN SINGLE CORP 5 CORP 20 CORP 50 UNLIMITED

Plan price $1,100 $4,000 $8,000 $15,000 $26,000

Minimum # of students 1 5 20 50 -

Per student price $1,100 $800 $400 $300 -

-3- ADVANCED WEBRTC


ARCHITECTURE
COMPANIES SENDING STUDENTS TO THE
ADVANCED WEBRTC ARCHITECTURE COURSE

Join over
1,000 students
from more than
100 companies

-4- ADVANCED WEBRTC


ARCHITECTURE
WHAT ARE STUDENTS SAYING?
I've been working with WebRTC for a year before enrolling to this course. After going through the
course, I can say that I finally now know exactly how the ICE process works and have a much better
understanding of audio and video codecs, media processing and topics such as Simulcast and SVC.
I will definitely be getting back to some of the course lessons whenever needed.”

Walmyr Filho | QA Engineer | appear.in

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!”

Arin Sime | CEO & Founder | WebRTC.ventures

Advanced WebRTC Architecture course prepared by Tsahi is one of the comprehensible,


well-structured and simplified WebRTC sources that we have ever encountered. The course is an
invaluable asset for anyone who would like to understand and invest time in WebRTC.”

Onur Özen | Director and Head of Product | Adeya

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.”

Ryan Cartmell | Director, Production System Administration | Intermedia

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.”

Fredrik Johansson | Software engineer | Tobii AB

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.”

Panjak Gupta | Founder and CEO | vCloudX

-5- ADVANCED WEBRTC


ARCHITECTURE
CURRICULUM (ADVANCED WEBRTC)

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

-6- ADVANCED WEBRTC


ARCHITECTURE
CURRICULUM (ADVANCED WEBRTC)
WEB

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

-7- ADVANCED WEBRTC


ARCHITECTURE
CURRICULUM (ADVANCED WEBRTC)
ME

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

-8- ADVANCED WEBRTC


ARCHITECTURE
CURRICULUM (ADVANCED WEBRTC)
3

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

-9- ADVANCED WEBRTC


ARCHITECTURE
CURRICULUM (WEBRTC TOOLING)
3

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

Codelab related exercises (with solutions):


• Adding TURN via Twilio - how to add TURN server configuration using Twilio NTS
• Change maximum bitrate - add the ability to change the video bitrate dynamically in a session
• Tracking disconnections in the server - how to track call disconnections in the server
• Adding calling and answering buttons - letting users accept or reject calls
• Adding statistics to the view - using getstats() to track call quality metrics
• Codec selection - explicitly choosing the codecs to use in a session

- 11 - ADVANCED WEBRTC
ARCHITECTURE

You might also like