SlideShare a Scribd company logo
1 of 52
Download to read offline
Deploying WebRTC
in a Low-Latency Streaming Service
Dr. Alex Gouaillard
Millicast.com
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
a.k.a.
2 years of WebRTC “Fake News”
or “how to make Brexit look easy in comparison”
Dr. Alex Gouaillard
Millicast.com
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
“WebRTC was NOT designed for one-way 1-to-many”
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
“WebRTC was NOT designed for one-way 1-to-many”
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for one-way 1-to-many
Permission prompt for viewers !
○ For security reasons, you cannot access the camera
or microphone without user consent,
○ By default the design assumes streams are flowing
both ways, and ask for permission in any case.
○ Asking people to give permission to access their
cam and their microphone to watch a stream is NOT
good UX :-)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
“WebRTC was NOT designed for multiple hops” ?
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
“WebRTC was NOT designed for multiple hops”
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (1)
● Quality: RTP/RTCP is a single hop tech
○ noisy neighbor
● Security: SRTP is a hop-by-hop encryption scheme
○ no end-to-end encryption
● Scalability: one media server common is ok, but not two in a row
○ does not scale
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (2)
● Quality: Noisy Neighbor illustration of RTP/RTCP limits
Source
(Enc)
Media
Server
Media
Server
Media
Server
Media
Server
Viewer
One viewer (among millions)
has a bad network access
with high packet loss
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (2)
● Quality: Noisy Neighbor illustration of RTP/RTCP limits
Source
(Enc)
Media
Server
Media
Server
Media
Server
Media
Server
Viewer
NACK
Packets loss generates
requests for retransmission.
The usual way to deal with
that is to cache packets in
the media server. Solved for
20 years already.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (2)
● Quality: Noisy Neighbor illustration of RTP/RTCP limits
Source
(Enc)
Media
Server
Media
Server
Media
Server
Media
Server
Viewer
PLI / FIR
If too many packets get lost,
or if it takes too long for the
decoder to wait any longer, a
request for a full frame is
sent. Only the encoder can
answer this request.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (2)
● Cracked by e.g. CoSMo, integrated e.g. in MilliCast.
Source
(Enc)
Media
Server
Media
Server
Media
Server
Media
Server
Viewer
A full frame is then created
by the encoder and sent to
ALL viewers, increasing
bandwidth consumption for
all. You have a “noisy
neighboor”.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (3)
● Security: SRTP is a hop-by-hop encryption scheme
(*) or TURN server.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (3)
● Security: SRTP is a hop-by-hop encryption scheme
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (3)
● Solution: end-to-end encryption with user/customer keys a-la telegram.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
WebRTC was NOT designed for multiple hops (3)
● What can we use for end-to-end encryption?
● PERC: IETF standard for Privacy Enhanced RTP Conferencing (SIP/webrtc)
○ RTP only, Untrusted server, untrusted web-app
● PERC-lite: variation with a trusted app trust model. Implemented by
CoSMo for Symphony Communication in 2017/2018. Serving the top 25
banks in the world in a SEC-Compliant way.
● WebRTC NV - E2EME
○ Transport agnostic,
○ Video frame-based
■ Less bandwidth overhead,
■ Codec-Agnostic
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC was NOT designed for multiple hops (4)
● Bandwidth Evaluation (BWE) and Congestion Control (CC/rmcat)
○ P2p: each can probe the other
○ 1 media server: the media server can probe both peers
○ N media servers …… ?
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have the tools to Test
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have the tools to Test
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have the tools to Test
● Interoperability: KITE
2016: W3C recognize the gap.
Google and CoSMo create KITE.
By 2018, 23 browsers configurations are tested on a daily basis.
https://webrtc.org/testing/kite/
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have the tools to Test
● Interoperability: KITE
● Google uses it (webrtc.org),
● Microsoft uses it (UWP)
● Apple uses it,
● And so on and so forth ….
(*) https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/
WebRTC does NOT have the tools to Test
● Load testing: KITE
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have the tools to Test
● Load testing: KITE
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have the tools to Test
● Real Time
Image quality
Assessment
NARVAL
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC always ON encryption is Heavy (CenturyLink)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC always ON encryption is Heavy (CenturyLink)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC always ON encryption is Heavy (CenturyLink)
● Not since chrome 47 (december 2015)
“These are as strong as 3072-bit RSA keys‚ but several thousand times
faster: call setup overhead with ECDSA is just a few milliseconds.”
(*) https://developers.google.com/web/updates/2016/06/webrtc-ecdsa
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC always ON encryption is Heavy (CenturyLink)
● for PaaS you can just remove encryption intern.
○ RTP forwarding without transcoding example
■ mediasoup v3
■ Janus SOLEIL
○ RTSP or other non-encrypted protocol
=> ever seen those hacked American drones feeds?
● Snowden showed us it was a bad idea though. =>
● Facebook is now forcing RTMPS only.
○ Medooze (CoSMo/MilliCast),
■ encryption always ON
■ double encryption
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Safari does NOT support WebRTC !
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Edge does NOT support WebRTC !
● Well …. Microsoft dealt with that!
○ Edgium.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
● Pre-recorded content streaming does not care => decoder opt.
● Reference encoding time: H264 on GPU:
● Fast (throughput) vs fast (delay)
● Software encoding VP9
● Software encoding AV1
○ libaom
○ SVT-AV1 (and INTEL/NETFLIX announcement @NAB!?)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Is 30/6-FPS Real-Time?
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Throughput is not to be confused with latency
40+fps …….
With 6~7 seconds latency!
Wait …. what?
Heavily parallel
=> high throughput
72 frames deep frame buffer
=> capturer to encoder: 7s
Notion of Real-Time Codec
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Real Time group @ AOmedia, anyone?
Focussing on making AV1 a good real-time codec.
- real-time encoding mode
- Bitstream optimization for better bandwidth usage
- RTP payload spec
- RTP-level optimizations for faster encoding decoding in real-time.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Encoders in WebRTC are SLOW
Who wants to break free ~~
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
Encoders in WebRTC are SLOW
Decoder complexity decrease
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have name-a-back-end-feature
● WebRTC is standardized JS API in browsers, and protocols on the wire.
There is not standard for signaling or server-side features.
● recording (e.g.) is not a flash feature, nor an RTMP feature. It’s a feature
that was added by some servers that were otherwise also supporting the
flash/rtmp protocols.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have ABR, that’s why we
did it server side (phenixRTS, red5)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have ABR, that’s why we
did it server side (phenixRTS, red5)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have ABR (phenixRTS, red5)
● To their defense: good choice, at the time they made it, and for people not
involved in the standards.
● for previous generation codecs (H.264, VP8)
○ Simulcast is here (chrome 72) thanks to CoSMo contribution.
○ Spatial Scalability was merged on may 2nd.
● for current generation codecs (H.265, VP9)
○ full scalability (SVC)
● For AV: see previous slides
(*) Why should we care? For every standard protocol, you should stick to the standard or risk not interoperate with
browsers / web apps. The age of proprietary apps or device is not behind, but corresponding non-OTT market is shrinking.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC does NOT have AAC 5.1 or eq. (MS)
● OPUS can do up to 255 channels by design,
● OPUS 6.1 has now been integrated in chrome (29th April 2019)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
What did we learn in the past 2 years in short (1)
The first “maturity” phase where hard problems and false assumptions
needed to be addressed is now over.
● 2019 The (IETF) protocols and (W3C) APIs are final.
● Quality, Scalability, Reach, the base is now here,
and services exists that show it works well enough.
(next slide)
● It’s a standard, all browsers implement it natively (unlike e.g. SRT).
● WebRTC stack packages are available => client-side SDK are easy.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
What did we learn in the past 2 years in short (1)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
What did we learn in the past 2 years in short (2)
● You’re likely doing it wrong if:
○ you have had a WebRTC implementation for many years (FB 2012!),
○ you don’t have an end-to-end layer, and are just chaining servers,
○ you mix with other protocols in a way that requires transcoding in all
cases (*),
○ you do not have support for all 4 major browsers, desktop and mobile,
and native SDKs for mobile (missing desktop and IoT is ok).
(*) Works needs to be done with sources and composition software / hardware to get
there. OBS is easy: OpenSource. Some in some cases transcoding for ingest is
mandatory, but it should be the exception and not the rule.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
What did we learn in the past 2 years in short (3)
For most WebRTC vendors who have stabilized their WebRTC core tech, and
address the needs of businesses which could not compromise on latency, the goal
is now: “feature parity”
● increase the value for existing customers, like e.g.
○ (Encrypted) Recording,
○ Monitoring, Analytics, Compliance,
○ End-to-end Media Encryption,
● enable additional revenue models, like e.g.
○ Ad insertion (SCTE35, VAST, ….)
● enable yet other revenue models to run on webrtc by protecting high-value content
○ Watermarking and DRM,
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
^
||
May 2nd
May 6th =>
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
WebRTC Tech Innovations to come 2020
● According to Google:
○ WebRTC Group: AV1, QUIC, WASM
● According to Facebook:
○ QUIC (Open Sourced stack on April 30th, 2019)
● According to AOMedia, INTEL and Netflix:
○ AV1 (*) (NAB Press Release)
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City
How to keep in touch with this rapid innovating field?
1. Join the standard committees: W3C, IETF, AOMedia, ITU, MPEG, …..
2. Read my tweets :-)
@agouaillard,
Warning: tech-only, tainted with some french accent and arrogance.
Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
Streaming Media East - May 8, 2019 - New York City

More Related Content

What's hot

Security Vulnerabilities
Security VulnerabilitiesSecurity Vulnerabilities
Security VulnerabilitiesMarius Vorster
 
Session Sponsored by Splunk: Splunk for the Cloud, in the Cloud
Session Sponsored by Splunk: Splunk for the Cloud, in the CloudSession Sponsored by Splunk: Splunk for the Cloud, in the Cloud
Session Sponsored by Splunk: Splunk for the Cloud, in the CloudAmazon Web Services
 
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP
 
MITRE-Module 2 Slides.pdf
MITRE-Module 2 Slides.pdfMITRE-Module 2 Slides.pdf
MITRE-Module 2 Slides.pdfReZa AdineH
 
MISP EcoSystem - Threat Intelligence, VMRay, MISP
MISP EcoSystem - Threat Intelligence, VMRay, MISPMISP EcoSystem - Threat Intelligence, VMRay, MISP
MISP EcoSystem - Threat Intelligence, VMRay, MISPKoen Van Impe
 
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)Marco Balduzzi
 
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...n|u - The Open Security Community
 
Security Onion - Brief
Security Onion - BriefSecurity Onion - Brief
Security Onion - BriefAshley Deuble
 
Microservice Design Patterns.pdf
Microservice Design Patterns.pdfMicroservice Design Patterns.pdf
Microservice Design Patterns.pdfSimform
 
No More Flat Stanley: Learning in 3D
No More Flat Stanley: Learning in 3DNo More Flat Stanley: Learning in 3D
No More Flat Stanley: Learning in 3DKaren Bosch
 
Client-Side Penetration Testing Presentation
Client-Side Penetration Testing PresentationClient-Side Penetration Testing Presentation
Client-Side Penetration Testing PresentationChris Gates
 
How to win big - Several Interesting Examples of Exploiting Financial & Gambl...
How to win big - Several Interesting Examples of Exploiting Financial & Gambl...How to win big - Several Interesting Examples of Exploiting Financial & Gambl...
How to win big - Several Interesting Examples of Exploiting Financial & Gambl...Soroush Dalili
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with SplunkSplunk
 
Ekoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's MethodologyEkoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's Methodologybugcrowd
 
05.시스템의 성능과 안정성 확보 방안
05.시스템의 성능과 안정성 확보 방안05.시스템의 성능과 안정성 확보 방안
05.시스템의 성능과 안정성 확보 방안Opennaru, inc.
 
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security RisksOWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security RisksAll Things Open
 
The Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi MeetThe Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi MeetSaúl Ibarra Corretgé
 
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigLive Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigFrans Rosén
 

What's hot (20)

Security Vulnerabilities
Security VulnerabilitiesSecurity Vulnerabilities
Security Vulnerabilities
 
Session Sponsored by Splunk: Splunk for the Cloud, in the Cloud
Session Sponsored by Splunk: Splunk for the Cloud, in the CloudSession Sponsored by Splunk: Splunk for the Cloud, in the Cloud
Session Sponsored by Splunk: Splunk for the Cloud, in the Cloud
 
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
 
MITRE-Module 2 Slides.pdf
MITRE-Module 2 Slides.pdfMITRE-Module 2 Slides.pdf
MITRE-Module 2 Slides.pdf
 
MISP EcoSystem - Threat Intelligence, VMRay, MISP
MISP EcoSystem - Threat Intelligence, VMRay, MISPMISP EcoSystem - Threat Intelligence, VMRay, MISP
MISP EcoSystem - Threat Intelligence, VMRay, MISP
 
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
 
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
 
Security Onion - Brief
Security Onion - BriefSecurity Onion - Brief
Security Onion - Brief
 
Microservice Design Patterns.pdf
Microservice Design Patterns.pdfMicroservice Design Patterns.pdf
Microservice Design Patterns.pdf
 
No More Flat Stanley: Learning in 3D
No More Flat Stanley: Learning in 3DNo More Flat Stanley: Learning in 3D
No More Flat Stanley: Learning in 3D
 
Client-Side Penetration Testing Presentation
Client-Side Penetration Testing PresentationClient-Side Penetration Testing Presentation
Client-Side Penetration Testing Presentation
 
How to win big - Several Interesting Examples of Exploiting Financial & Gambl...
How to win big - Several Interesting Examples of Exploiting Financial & Gambl...How to win big - Several Interesting Examples of Exploiting Financial & Gambl...
How to win big - Several Interesting Examples of Exploiting Financial & Gambl...
 
Sigma and YARA Rules
Sigma and YARA RulesSigma and YARA Rules
Sigma and YARA Rules
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
 
FortiWeb
FortiWebFortiWeb
FortiWeb
 
Ekoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's MethodologyEkoparty 2017 - The Bug Hunter's Methodology
Ekoparty 2017 - The Bug Hunter's Methodology
 
05.시스템의 성능과 안정성 확보 방안
05.시스템의 성능과 안정성 확보 방안05.시스템의 성능과 안정성 확보 방안
05.시스템의 성능과 안정성 확보 방안
 
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security RisksOWASP Top 10 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 - The Ten Most Critical Web Application Security Risks
 
The Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi MeetThe Road to End-to-End Encryption in Jitsi Meet
The Road to End-to-End Encryption in Jitsi Meet
 
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigLive Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
 

Similar to Deploying WebRTC in a low-latency streaming service

Streaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streamingStreaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streamingAlexandre Gouaillard
 
Getting Started with WebRTC
Getting Started with WebRTCGetting Started with WebRTC
Getting Started with WebRTCChad Hart
 
Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveAWS Chicago
 
Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveCloudCamp Chicago
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
Http3 fullstackfest-2019
Http3 fullstackfest-2019Http3 fullstackfest-2019
Http3 fullstackfest-2019Daniel Stenberg
 
Astricon WebRTC Update
Astricon WebRTC UpdateAstricon WebRTC Update
Astricon WebRTC UpdateChad Hart
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPDaniel Stenberg
 
768K Day - Internet Doomsday: is it real?
768K Day - Internet Doomsday: is it real?768K Day - Internet Doomsday: is it real?
768K Day - Internet Doomsday: is it real?Dhiman Chowdhury
 
Keynote at ISCRAM-China2008: Next generation of Safety Networks
Keynote at ISCRAM-China2008: Next generation of Safety NetworksKeynote at ISCRAM-China2008: Next generation of Safety Networks
Keynote at ISCRAM-China2008: Next generation of Safety Networksglobal
 
The Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV Campus
The Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV CampusThe Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV Campus
The Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV CampusTsahi Levent-levi
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficientlyinside-BigData.com
 
Government Policy and IPv6 Adoption - Strategic linkages
Government Policy and IPv6 Adoption - Strategic linkagesGovernment Policy and IPv6 Adoption - Strategic linkages
Government Policy and IPv6 Adoption - Strategic linkagesAPNIC
 
Government
Government Government
Government APNIC
 
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 WebRTCChad Hart
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Inc
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016Dan Jenkins
 
Model-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data AnalyticsModel-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data AnalyticsCisco Canada
 

Similar to Deploying WebRTC in a low-latency streaming service (20)

Streaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streamingStreaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streaming
 
Getting Started with WebRTC
Getting Started with WebRTCGetting Started with WebRTC
Getting Started with WebRTC
 
Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at Cohesive
 
Chicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at CohesiveChicago AWS user group meetup - May 2014 at Cohesive
Chicago AWS user group meetup - May 2014 at Cohesive
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Http3 fullstackfest-2019
Http3 fullstackfest-2019Http3 fullstackfest-2019
Http3 fullstackfest-2019
 
DevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSocketsDevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSockets
 
Astricon WebRTC Update
Astricon WebRTC UpdateAstricon WebRTC Update
Astricon WebRTC Update
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 
768K Day - Internet Doomsday: is it real?
768K Day - Internet Doomsday: is it real?768K Day - Internet Doomsday: is it real?
768K Day - Internet Doomsday: is it real?
 
Keynote at ISCRAM-China2008: Next generation of Safety Networks
Keynote at ISCRAM-China2008: Next generation of Safety NetworksKeynote at ISCRAM-China2008: Next generation of Safety Networks
Keynote at ISCRAM-China2008: Next generation of Safety Networks
 
The Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV Campus
The Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV CampusThe Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV Campus
The Evolving WebRTC Ecosystem | all about WebRTC event, Google's TLV Campus
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
 
Government Policy and IPv6 Adoption - Strategic linkages
Government Policy and IPv6 Adoption - Strategic linkagesGovernment Policy and IPv6 Adoption - Strategic linkages
Government Policy and IPv6 Adoption - Strategic linkages
 
Government
Government Government
Government
 
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
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC Reborn
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
 
Model-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data AnalyticsModel-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data Analytics
 

More from Alexandre Gouaillard

Janus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentationJanus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentationAlexandre Gouaillard
 
KITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC TestingKITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC TestingAlexandre Gouaillard
 
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)Alexandre Gouaillard
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCAlexandre Gouaillard
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc projectAlexandre Gouaillard
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoTAlexandre Gouaillard
 
2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The Art2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The ArtAlexandre Gouaillard
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - EnglishAlexandre Gouaillard
 
2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語Alexandre Gouaillard
 
WebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversWebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversAlexandre Gouaillard
 
Webrtc plugins for Desktop Browsers
Webrtc plugins for Desktop BrowsersWebrtc plugins for Desktop Browsers
Webrtc plugins for Desktop BrowsersAlexandre Gouaillard
 
WebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesAlexandre Gouaillard
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC StackAlexandre Gouaillard
 
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Alexandre Gouaillard
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFAlexandre Gouaillard
 
WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015Alexandre Gouaillard
 

More from Alexandre Gouaillard (20)

Janus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentationJanus conf19: TUTORIAL: KITE with network-instrumentation
Janus conf19: TUTORIAL: KITE with network-instrumentation
 
Janus conf'19: janus client side
Janus conf'19:  janus client sideJanus conf'19:  janus client side
Janus conf'19: janus client side
 
KITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC TestingKITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC Testing
 
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTC
 
WebRTC Status Update - 2017Q2
WebRTC Status Update - 2017Q2WebRTC Status Update - 2017Q2
WebRTC Status Update - 2017Q2
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc project
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
 
2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The Art2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The Art
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English
 
2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語
 
WebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversWebRTC Object Model API - Transceivers
WebRTC Object Model API - Transceivers
 
2015 Q4 webrtc standards update
2015 Q4 webrtc standards update2015 Q4 webrtc standards update
2015 Q4 webrtc standards update
 
overview-peerconnection-lifetime
overview-peerconnection-lifetimeoverview-peerconnection-lifetime
overview-peerconnection-lifetime
 
Webrtc plugins for Desktop Browsers
Webrtc plugins for Desktop BrowsersWebrtc plugins for Desktop Browsers
Webrtc plugins for Desktop Browsers
 
WebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differences
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC Stack
 
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
 
WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015
 

Recently uploaded

DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming languageSmritiSharma901052
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodManicka Mamallan Andavar
 

Recently uploaded (20)

DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming language
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument method
 

Deploying WebRTC in a low-latency streaming service

  • 1. Deploying WebRTC in a Low-Latency Streaming Service Dr. Alex Gouaillard Millicast.com Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 2. a.k.a. 2 years of WebRTC “Fake News” or “how to make Brexit look easy in comparison” Dr. Alex Gouaillard Millicast.com Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 3. “WebRTC was NOT designed for one-way 1-to-many” Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 4. “WebRTC was NOT designed for one-way 1-to-many” Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 5. WebRTC was NOT designed for one-way 1-to-many Permission prompt for viewers ! ○ For security reasons, you cannot access the camera or microphone without user consent, ○ By default the design assumes streams are flowing both ways, and ask for permission in any case. ○ Asking people to give permission to access their cam and their microphone to watch a stream is NOT good UX :-) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 6. “WebRTC was NOT designed for multiple hops” ? Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 7. “WebRTC was NOT designed for multiple hops” Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 8. WebRTC was NOT designed for multiple hops (1) ● Quality: RTP/RTCP is a single hop tech ○ noisy neighbor ● Security: SRTP is a hop-by-hop encryption scheme ○ no end-to-end encryption ● Scalability: one media server common is ok, but not two in a row ○ does not scale Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 9. WebRTC was NOT designed for multiple hops (2) ● Quality: Noisy Neighbor illustration of RTP/RTCP limits Source (Enc) Media Server Media Server Media Server Media Server Viewer One viewer (among millions) has a bad network access with high packet loss Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 10. WebRTC was NOT designed for multiple hops (2) ● Quality: Noisy Neighbor illustration of RTP/RTCP limits Source (Enc) Media Server Media Server Media Server Media Server Viewer NACK Packets loss generates requests for retransmission. The usual way to deal with that is to cache packets in the media server. Solved for 20 years already. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 11. WebRTC was NOT designed for multiple hops (2) ● Quality: Noisy Neighbor illustration of RTP/RTCP limits Source (Enc) Media Server Media Server Media Server Media Server Viewer PLI / FIR If too many packets get lost, or if it takes too long for the decoder to wait any longer, a request for a full frame is sent. Only the encoder can answer this request. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 12. WebRTC was NOT designed for multiple hops (2) ● Cracked by e.g. CoSMo, integrated e.g. in MilliCast. Source (Enc) Media Server Media Server Media Server Media Server Viewer A full frame is then created by the encoder and sent to ALL viewers, increasing bandwidth consumption for all. You have a “noisy neighboor”. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 13. WebRTC was NOT designed for multiple hops (3) ● Security: SRTP is a hop-by-hop encryption scheme (*) or TURN server. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 14. WebRTC was NOT designed for multiple hops (3) ● Security: SRTP is a hop-by-hop encryption scheme Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 15. WebRTC was NOT designed for multiple hops (3) ● Solution: end-to-end encryption with user/customer keys a-la telegram. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com
  • 16. WebRTC was NOT designed for multiple hops (3) ● What can we use for end-to-end encryption? ● PERC: IETF standard for Privacy Enhanced RTP Conferencing (SIP/webrtc) ○ RTP only, Untrusted server, untrusted web-app ● PERC-lite: variation with a trusted app trust model. Implemented by CoSMo for Symphony Communication in 2017/2018. Serving the top 25 banks in the world in a SEC-Compliant way. ● WebRTC NV - E2EME ○ Transport agnostic, ○ Video frame-based ■ Less bandwidth overhead, ■ Codec-Agnostic Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 17. WebRTC was NOT designed for multiple hops (4) ● Bandwidth Evaluation (BWE) and Congestion Control (CC/rmcat) ○ P2p: each can probe the other ○ 1 media server: the media server can probe both peers ○ N media servers …… ? Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 18. WebRTC does NOT have the tools to Test Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 19. WebRTC does NOT have the tools to Test Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 20. WebRTC does NOT have the tools to Test ● Interoperability: KITE 2016: W3C recognize the gap. Google and CoSMo create KITE. By 2018, 23 browsers configurations are tested on a daily basis. https://webrtc.org/testing/kite/ Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 21. WebRTC does NOT have the tools to Test ● Interoperability: KITE ● Google uses it (webrtc.org), ● Microsoft uses it (UWP) ● Apple uses it, ● And so on and so forth …. (*) https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/
  • 22. WebRTC does NOT have the tools to Test ● Load testing: KITE Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 23. WebRTC does NOT have the tools to Test ● Load testing: KITE Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 24. WebRTC does NOT have the tools to Test ● Real Time Image quality Assessment NARVAL Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 25. WebRTC always ON encryption is Heavy (CenturyLink) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 26. WebRTC always ON encryption is Heavy (CenturyLink) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 27. WebRTC always ON encryption is Heavy (CenturyLink) ● Not since chrome 47 (december 2015) “These are as strong as 3072-bit RSA keys‚ but several thousand times faster: call setup overhead with ECDSA is just a few milliseconds.” (*) https://developers.google.com/web/updates/2016/06/webrtc-ecdsa Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 28. WebRTC always ON encryption is Heavy (CenturyLink) ● for PaaS you can just remove encryption intern. ○ RTP forwarding without transcoding example ■ mediasoup v3 ■ Janus SOLEIL ○ RTSP or other non-encrypted protocol => ever seen those hacked American drones feeds? ● Snowden showed us it was a bad idea though. => ● Facebook is now forcing RTMPS only. ○ Medooze (CoSMo/MilliCast), ■ encryption always ON ■ double encryption Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 29. Safari does NOT support WebRTC ! Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 30. Edge does NOT support WebRTC ! ● Well …. Microsoft dealt with that! ○ Edgium. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 31. Encoders in WebRTC are SLOW Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 32. Encoders in WebRTC are SLOW Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 33. Encoders in WebRTC are SLOW ● Pre-recorded content streaming does not care => decoder opt. ● Reference encoding time: H264 on GPU: ● Fast (throughput) vs fast (delay) ● Software encoding VP9 ● Software encoding AV1 ○ libaom ○ SVT-AV1 (and INTEL/NETFLIX announcement @NAB!?) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 34. Encoders in WebRTC are SLOW Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 35. Encoders in WebRTC are SLOW Is 30/6-FPS Real-Time? Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 36. Encoders in WebRTC are SLOW Throughput is not to be confused with latency 40+fps ……. With 6~7 seconds latency! Wait …. what? Heavily parallel => high throughput 72 frames deep frame buffer => capturer to encoder: 7s Notion of Real-Time Codec Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 37. Encoders in WebRTC are SLOW Real Time group @ AOmedia, anyone? Focussing on making AV1 a good real-time codec. - real-time encoding mode - Bitstream optimization for better bandwidth usage - RTP payload spec - RTP-level optimizations for faster encoding decoding in real-time. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 38. Encoders in WebRTC are SLOW
  • 39. Encoders in WebRTC are SLOW Who wants to break free ~~ Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 40. Encoders in WebRTC are SLOW Decoder complexity decrease Streaming Media East - May 8, 2019 - New York City
  • 41. WebRTC does NOT have name-a-back-end-feature ● WebRTC is standardized JS API in browsers, and protocols on the wire. There is not standard for signaling or server-side features. ● recording (e.g.) is not a flash feature, nor an RTMP feature. It’s a feature that was added by some servers that were otherwise also supporting the flash/rtmp protocols. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 42. WebRTC does NOT have ABR, that’s why we did it server side (phenixRTS, red5) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 43. WebRTC does NOT have ABR, that’s why we did it server side (phenixRTS, red5) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 44. WebRTC does NOT have ABR (phenixRTS, red5) ● To their defense: good choice, at the time they made it, and for people not involved in the standards. ● for previous generation codecs (H.264, VP8) ○ Simulcast is here (chrome 72) thanks to CoSMo contribution. ○ Spatial Scalability was merged on may 2nd. ● for current generation codecs (H.265, VP9) ○ full scalability (SVC) ● For AV: see previous slides (*) Why should we care? For every standard protocol, you should stick to the standard or risk not interoperate with browsers / web apps. The age of proprietary apps or device is not behind, but corresponding non-OTT market is shrinking. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 45. WebRTC does NOT have AAC 5.1 or eq. (MS) ● OPUS can do up to 255 channels by design, ● OPUS 6.1 has now been integrated in chrome (29th April 2019) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 46. What did we learn in the past 2 years in short (1) The first “maturity” phase where hard problems and false assumptions needed to be addressed is now over. ● 2019 The (IETF) protocols and (W3C) APIs are final. ● Quality, Scalability, Reach, the base is now here, and services exists that show it works well enough. (next slide) ● It’s a standard, all browsers implement it natively (unlike e.g. SRT). ● WebRTC stack packages are available => client-side SDK are easy. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 47. What did we learn in the past 2 years in short (1) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 48. What did we learn in the past 2 years in short (2) ● You’re likely doing it wrong if: ○ you have had a WebRTC implementation for many years (FB 2012!), ○ you don’t have an end-to-end layer, and are just chaining servers, ○ you mix with other protocols in a way that requires transcoding in all cases (*), ○ you do not have support for all 4 major browsers, desktop and mobile, and native SDKs for mobile (missing desktop and IoT is ok). (*) Works needs to be done with sources and composition software / hardware to get there. OBS is easy: OpenSource. Some in some cases transcoding for ingest is mandatory, but it should be the exception and not the rule. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 49. What did we learn in the past 2 years in short (3) For most WebRTC vendors who have stabilized their WebRTC core tech, and address the needs of businesses which could not compromise on latency, the goal is now: “feature parity” ● increase the value for existing customers, like e.g. ○ (Encrypted) Recording, ○ Monitoring, Analytics, Compliance, ○ End-to-end Media Encryption, ● enable additional revenue models, like e.g. ○ Ad insertion (SCTE35, VAST, ….) ● enable yet other revenue models to run on webrtc by protecting high-value content ○ Watermarking and DRM, Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 50. ^ || May 2nd May 6th => Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 51. WebRTC Tech Innovations to come 2020 ● According to Google: ○ WebRTC Group: AV1, QUIC, WASM ● According to Facebook: ○ QUIC (Open Sourced stack on April 30th, 2019) ● According to AOMedia, INTEL and Netflix: ○ AV1 (*) (NAB Press Release) Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City
  • 52. How to keep in touch with this rapid innovating field? 1. Join the standard committees: W3C, IETF, AOMedia, ITU, MPEG, ….. 2. Read my tweets :-) @agouaillard, Warning: tech-only, tainted with some french accent and arrogance. Dr. Alex Gouaillard - @agouaillard - webrtcbydralex.com Streaming Media East - May 8, 2019 - New York City