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

Studio Accenture-AGICI 2022
Studio Accenture-AGICI 2022Studio Accenture-AGICI 2022
Studio Accenture-AGICI 2022Accenture Italia
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBInfluxData
 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverBlazeMeter
 
Pwc vietnam-future-of-asean-vietnam-perspective
Pwc vietnam-future-of-asean-vietnam-perspectivePwc vietnam-future-of-asean-vietnam-perspective
Pwc vietnam-future-of-asean-vietnam-perspectiveTrnHoQuang1
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackInfluxData
 
Elasticsearch: From development to production in 15 minutes
Elasticsearch: From development to production in 15 minutesElasticsearch: From development to production in 15 minutes
Elasticsearch: From development to production in 15 minutesElasticsearch
 
Back to the Future: The Road to Autonomous Driving
Back to the Future: The Road to Autonomous DrivingBack to the Future: The Road to Autonomous Driving
Back to the Future: The Road to Autonomous DrivingBoston Consulting Group
 
The world in 2030
The world in 2030The world in 2030
The world in 2030Harsha MV
 
CityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS PlatformCityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS PlatformSafe Software
 
FME:23 Bringing Life to Data
FME:23 Bringing Life to DataFME:23 Bringing Life to Data
FME:23 Bringing Life to DataSafe Software
 
Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...
Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...
Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...Nohoax Kanont
 
Enabling Compliance with the GDPR on AWS
Enabling Compliance with the GDPR on AWSEnabling Compliance with the GDPR on AWS
Enabling Compliance with the GDPR on AWSAmazon Web Services
 
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdfSuresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdfAWS Chicago
 
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech TalksDeep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech TalksAmazon Web Services
 
AI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPT
AI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPTAI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPT
AI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPTCprime
 
Steve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer ResumeSteve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer Resume?? Stephen Bennett ??
 
Large Language Models Bootcamp
Large Language Models BootcampLarge Language Models Bootcamp
Large Language Models BootcampData Science Dojo
 
Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?Maxim Salnikov
 

What's hot (20)

Studio Accenture-AGICI 2022
Studio Accenture-AGICI 2022Studio Accenture-AGICI 2022
Studio Accenture-AGICI 2022
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & Webdriver
 
PNE 2050 - Resumo
PNE 2050 - ResumoPNE 2050 - Resumo
PNE 2050 - Resumo
 
Pwc vietnam-future-of-asean-vietnam-perspective
Pwc vietnam-future-of-asean-vietnam-perspectivePwc vietnam-future-of-asean-vietnam-perspective
Pwc vietnam-future-of-asean-vietnam-perspective
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
 
Elasticsearch: From development to production in 15 minutes
Elasticsearch: From development to production in 15 minutesElasticsearch: From development to production in 15 minutes
Elasticsearch: From development to production in 15 minutes
 
Back to the Future: The Road to Autonomous Driving
Back to the Future: The Road to Autonomous DrivingBack to the Future: The Road to Autonomous Driving
Back to the Future: The Road to Autonomous Driving
 
The world in 2030
The world in 2030The world in 2030
The world in 2030
 
CityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS PlatformCityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS Platform
 
Generative AI
Generative AIGenerative AI
Generative AI
 
FME:23 Bringing Life to Data
FME:23 Bringing Life to DataFME:23 Bringing Life to Data
FME:23 Bringing Life to Data
 
Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...
Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...
Unlocking the Power of Generative AI Models and Systems such as GPT-4 and Cha...
 
Enabling Compliance with the GDPR on AWS
Enabling Compliance with the GDPR on AWSEnabling Compliance with the GDPR on AWS
Enabling Compliance with the GDPR on AWS
 
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdfSuresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
Suresh Poopandi_Generative AI On AWS-MidWestCommunityDay-Final.pdf
 
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech TalksDeep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
Deep Dive - Amazon Kinesis Video Streams - AWS Online Tech Talks
 
AI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPT
AI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPTAI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPT
AI for Everyone: Demystifying Large Language Models (LLMs) Like ChatGPT
 
Steve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer ResumeSteve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer Resume
 
Large Language Models Bootcamp
Large Language Models BootcampLarge Language Models Bootcamp
Large Language Models Bootcamp
 
Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?Using the power of OpenAI with your own data: what's possible and how to start?
Using the power of OpenAI with your own data: what's possible and how to start?
 

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
Government Government
Government APNIC
 
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
 
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
Government Government
Government
 
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
 
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
 
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
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaAlexandre 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
 
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
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
 

Recently uploaded

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 

Recently uploaded (20)

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 

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