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

High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
ScyllaDB
 

What's hot (20)

TinyML on Arduino - workshop
TinyML on Arduino - workshopTinyML on Arduino - workshop
TinyML on Arduino - workshop
 
Büyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1lBüyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1l
 
Sk6812 side 4020 led datasheet
Sk6812 side 4020 led datasheetSk6812 side 4020 led datasheet
Sk6812 side 4020 led datasheet
 
Kamailio on Docker
Kamailio on DockerKamailio on Docker
Kamailio on Docker
 
Study Notes: Facebook Haystack
Study Notes: Facebook HaystackStudy Notes: Facebook Haystack
Study Notes: Facebook Haystack
 
Ppt seminar noc
Ppt seminar nocPpt seminar noc
Ppt seminar noc
 
2019.06.27 Intro to Ceph
2019.06.27 Intro to Ceph2019.06.27 Intro to Ceph
2019.06.27 Intro to Ceph
 
Ceph Month 2021: RADOS Update
Ceph Month 2021: RADOS UpdateCeph Month 2021: RADOS Update
Ceph Month 2021: RADOS Update
 
Performance Comparison of Mutex, RWLock and Atomic types in Rust
Performance Comparison of Mutex, RWLock and  Atomic types in RustPerformance Comparison of Mutex, RWLock and  Atomic types in Rust
Performance Comparison of Mutex, RWLock and Atomic types in Rust
 
F5 tcpdump
F5 tcpdumpF5 tcpdump
F5 tcpdump
 
High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
 
MPP vs Hadoop
MPP vs HadoopMPP vs Hadoop
MPP vs Hadoop
 
MongoDB on EC2 and EBS
MongoDB on EC2 and EBSMongoDB on EC2 and EBS
MongoDB on EC2 and EBS
 
Cookies
CookiesCookies
Cookies
 
Markup Languages
Markup Languages Markup Languages
Markup Languages
 
Open manipulator x-assembly_guide_ver1913
Open manipulator x-assembly_guide_ver1913Open manipulator x-assembly_guide_ver1913
Open manipulator x-assembly_guide_ver1913
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
 
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiWeb Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo Fadojutimi
 
MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개
 
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROS
 

Similar to Deploying WebRTC in a low-latency streaming service

Government
Government Government
Government
APNIC
 

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
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC Reborn
 
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

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

"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 

Recently uploaded (20)

"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 

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