SlideShare a Scribd company logo
1 of 29
Download to read offline
cwh.consulting
WebRTC Check-In
WebRTC Boston 6
February 5, 2019
cwh.consulting
A blog for WebRTC developers
webrtcHacks.com
@webrtcHacks
AI & RTC blog
cogint.ai
@cogintai
WebRTC and ML for Developer Event
November 16, 2018 in San Francisco
krankygeek.com
About Me
Chad Hart
Analyst & Product Consultant
https://cwh.consulting
@chadwallacehart
chad@cwh.consulting
cwh.consulting
What can you do with WebRTC?
cwh.consulting
What can you do with WebRTC?
Low-latency real-.me streaming
Example:
cwh.consulting
What can you do with WebRTC?
Latency-sensitive real time audio, video, and screenshare for gamers
Example:
cwh.consulting
What can you do with WebRTC?
Peer-to-Peer Data Through Firewalls
Example:
cwh.consulting
What can you do with WebRTC?
Secure communications
Example:
cwh.consulting
What you get with WebRTC?
cwh.consulting
What you get with WebRTC:
Camera and microphone capture
navigator.mediaDevices.getUserMedia()
https://www.w3.org/TR/mediacapture-streams/#mediadevices
cwh.consulting
What you get with WebRTC:
List available media devices
navigator.mediaDevices.enumerateDevices()
https://www.w3.org/TR/mediacapture-streams/#dom-mediadevices-enumeratedevices
cwh.consulting
What you get with WebRTC:
Audio output device selection
HTMLMediaElement.setSinkId()
https://www.w3.org/TR/audio-output/
cwh.consulting
What you get with WebRTC:
Screensharing & desktop capture
navigator.mediaDevices.getDisplayMedia()
https://www.w3.org/TR/mediacapture-streams/#mediadevices
cwh.consulting
What you get with WebRTC:
Screensharing & desktop capture
navigator.mediaDevices.getDisplayMedia
h"ps://w3c.github.io/mediacapture-screen-share/
cwh.consulting
What you get with WebRTC:
Media recording
MediaRecorder
https://www.w3.org/TR/mediastream-recording/
cwh.consulting
What you get with WebRTC:
Peer-to-Peer Media
RTCPeerConnection
https://www.w3.org/TR/webrtc/#rtp-media-api
cwh.consulting
What you get with WebRTC:
Peer-to-Peer Data
RTCPeerConnection.createDataChannel()
https://www.w3.org/TR/webrtc/#peer-to-peer-data-api
0101 1010
cwh.consulting
What you get with WebRTC:
Connection statistics
RTCPeerConnection.getStats()
https://www.w3.org/TR/webrtc/#sec.stats-model
cwh.consulting
Vendor Google Microsoft Mozilla Microsoft Apple
Browser Chrome Internet Explorer Firefox Edge Safari
Desktop ! ⛔ ! !
Android ! # ! # #
iOS # #
!
⛔ !⛔
WebRTCBrowser Support
cwh.consulting
Desktop
Mobile
✅
✅
Native Environments
cwh.consulting
Types of WebRTC Servers
Signaling
NAT
Traversal
Media Gateway
Always needed Needed for production Depends on the app Depends on the app
cwh.consulting
Swatting NATs
STUN TURN
Traversal Using Relay NATSession Traversal U/li/es for NAT
Lightweight mechanism for finding a
device’s own public IP address behind a
NAT
Heavy mechanism that relays media
through a publicly addressed server
when other connectivity fails
cwh.consulting
Reasons you might need a media server
Mul$-party Recording
Heavy media
manipulation
Live
broadcast
Kranky Geek São Paulo 2016
cwh.consulting
The Mesh Problem
Client Client
Client
Client
Client
Client
Clients Streams
/ client
Total
6 10 30
You can only connect so many points
in a peer-to-peer mesh architecture
before it overwhelms local resources
cwh.consulting
Selective Forwarding
Unit (SFU)
Client Client
Client
Client
Client
Client
Clients Streams
/ client
Total
n n n2
SFU
A SFU is a kind of media servers.
Relaying media via a SFU is the
best-practice way to handle multi-
party conference calls with more
than a few participants.
cwh.consulting
cwh.consulting
Machine Learning-based media
manipulation is coming to WebRTC
https://w3c.github.io/webrtc-nv-use-cases/#funnyhats*
cwh.consulting
WebRTC Next Version – more options
App
peerConnection
OG WebRTC WebRTC NV
Browser
Application
code
Hear more from Google’s Kranky Geek 2018 talk: hAps://youtu.be/gV354kWh08o?t=1232
Lower-level API allow more control of
WebRTC parameters and interactions
Possibility to put low-level processing like
codecs in Web Assembly
cwh.consulting
WebRTC Next Version – newer tech
new video codec new transport protocol
cwh.consulting
A blog for WebRTC developers
webrtcHacks.com
@webrtcHacks
AI & RTC blog
cogint.ai
@cogintai
WebRTC and ML for Developer Event
November 16, 2018 in San Francisco
krankygeek.com
About Me
Chad Hart
Analyst & Product Consultant
https://cwh.consulting
@chadwallacehart
chad@cwh.consulting

More Related Content

What's hot

What's hot (20)

WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTC
 
Media processing with serverless architecture
Media processing with serverless architectureMedia processing with serverless architecture
Media processing with serverless architecture
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC intro
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebRTC standards update (April 2015)
WebRTC standards update (April 2015)WebRTC standards update (April 2015)
WebRTC standards update (April 2015)
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
WebRTC - a History Lesson
WebRTC - a History LessonWebRTC - a History Lesson
WebRTC - a History Lesson
 
Getting started with WebRTC
Getting started with WebRTCGetting started with WebRTC
Getting started with WebRTC
 
The State of WebRTC
The State of WebRTCThe State of WebRTC
The State of WebRTC
 
Quality Assurance for WebRTC Services
Quality Assurance for WebRTC ServicesQuality Assurance for WebRTC Services
Quality Assurance for WebRTC Services
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
WebRTC Timeline and Forecast
WebRTC Timeline and ForecastWebRTC Timeline and Forecast
WebRTC Timeline and Forecast
 
WebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and OpportunitiesWebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and Opportunities
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introduction
 

Similar to WebRTC Check-in (from WebRTC Boston 6)

Similar to WebRTC Check-in (from WebRTC Boston 6) (20)

Astricon WebRTC Update
Astricon WebRTC UpdateAstricon WebRTC Update
Astricon WebRTC Update
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
What is WebRTC and How does it work?
What is WebRTC and How does it work?What is WebRTC and How does it work?
What is WebRTC and How does it work?
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
WebRTC From Asterisk to Headline - MoNage
WebRTC From Asterisk to Headline - MoNageWebRTC From Asterisk to Headline - MoNage
WebRTC From Asterisk to Headline - MoNage
 
CoAP for the Web of Things: From Tiny Resource-constrained Devices to the W...
CoAP for the Web of Things: From Tiny Resource-constrained Devices to the W...CoAP for the Web of Things: From Tiny Resource-constrained Devices to the W...
CoAP for the Web of Things: From Tiny Resource-constrained Devices to the W...
 
Kill Your IVR with a Voicebot (ClueCon 2019)
Kill Your IVR with a Voicebot (ClueCon 2019)Kill Your IVR with a Voicebot (ClueCon 2019)
Kill Your IVR with a Voicebot (ClueCon 2019)
 
Pkewebrtc
PkewebrtcPkewebrtc
Pkewebrtc
 
[Streamroot] Whitepaper peer assisted adaptive streaming
[Streamroot] Whitepaper peer assisted adaptive streaming[Streamroot] Whitepaper peer assisted adaptive streaming
[Streamroot] Whitepaper peer assisted adaptive streaming
 
WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??
 
API Days Apidaze WebRTC Hype or Disruption 4 dec. 2013
API Days Apidaze WebRTC Hype or Disruption 4 dec. 2013API Days Apidaze WebRTC Hype or Disruption 4 dec. 2013
API Days Apidaze WebRTC Hype or Disruption 4 dec. 2013
 
WebRTC And FreeSWITCH – What This Combination Means?
WebRTC And FreeSWITCH – What This Combination Means?WebRTC And FreeSWITCH – What This Combination Means?
WebRTC And FreeSWITCH – What This Combination Means?
 
Web rtc videoconference
Web rtc videoconferenceWeb rtc videoconference
Web rtc videoconference
 
In Search of Segmentation
In Search of SegmentationIn Search of Segmentation
In Search of Segmentation
 
WebRTC for Telcos & Service Providers
WebRTC for Telcos & Service ProvidersWebRTC for Telcos & Service Providers
WebRTC for Telcos & Service Providers
 
WebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumWebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World Forum
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web WorldAsterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
 
8 pre launch steps to go with the web rtc based application development
8 pre launch steps to go with the web rtc based application development8 pre launch steps to go with the web rtc based application development
8 pre launch steps to go with the web rtc based application development
 
WebRTC, another Web?
WebRTC, another Web?WebRTC, another Web?
WebRTC, another Web?
 

More from Chad Hart

More from Chad Hart (8)

AIY Vision Kit - Embedded ML for STEM and Makers (GDG Boston Tensorflow)
AIY Vision Kit - Embedded ML for STEM and Makers (GDG Boston Tensorflow)AIY Vision Kit - Embedded ML for STEM and Makers (GDG Boston Tensorflow)
AIY Vision Kit - Embedded ML for STEM and Makers (GDG Boston Tensorflow)
 
Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017
 
6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes6 Months of WebRTC in 10 minutes
6 Months of WebRTC in 10 minutes
 
ClueCon 2016: Should you use WebRTC?
ClueCon 2016: Should you use WebRTC?ClueCon 2016: Should you use WebRTC?
ClueCon 2016: Should you use WebRTC?
 
WebRTC Hacks: Lessons Learned
WebRTC Hacks: Lessons LearnedWebRTC Hacks: Lessons Learned
WebRTC Hacks: Lessons Learned
 
WebRTC for Billions
WebRTC for BillionsWebRTC for Billions
WebRTC for Billions
 
The Future of Real Time Communications
The Future of Real Time CommunicationsThe Future of Real Time Communications
The Future of Real Time Communications
 
What's Next for WebRTC
What's Next for WebRTCWhat's Next for WebRTC
What's Next for WebRTC
 

Recently uploaded

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Precisely
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 

WebRTC Check-in (from WebRTC Boston 6)