SlideShare a Scribd company logo
1 of 25
Download to read offline
Confidential ©2021 RingCentral
September 20, 2021
async function call_ringout() {
try {
var resp = await
platform.post('/restapi/v1.0/account/~/ex
'from': { 'phoneNumber': RINGCENTRA
'to': { 'phoneNumber': RECIPIENT },
'playPrompt': false
})
var jsonObj = await resp.json()
console.log("Call placed. Call status
jsonObj.status.callStatus)
} catch (e) {
console.log(e.message)
}
}
The future of
WebRTC
Arnaud Budkiewicz
Sr Director of Video Engineering, W3C Member
@ArnaudBud
Agenda
1 2
The power of WebRTC
● What is WebRTC?
● Is WebRTC a standard?
● How it benefits developers?
The future of WebRTC
● More secure
● AI-powered features
● Better media quality
● Better UX
3
How RingCentral is Involved?
● Report Issues
● Contributions
● Standard definition
The power of
WebRTC
4 ©2021 RingCentral
WebRTC is
10
5 ©2021 RingCentral
ALL major browsers
● Chrome, Edge
● Firefox
● Safari
Video, Audio, Data
● Codecs
● Audio engine
● Video engine
● Any data
Peer-to-Peer
● 2 browsers
● 1 application, 1 server
● 2 servers
Open-source
● JS API
● libWebRTC
● Chromium
● WebKit
What is WebRTC?
WebRTC is a real-time communication technology, that
supports video, voice, and generic data to be sent
between peers.
6 ©2021 RingCentral
WebRTC Media Engine WebRTC Protocol Stack
1 2
What is WebRTC?
Source: https://hpbn.co
7 ©2021 RingCentral
Why use WebRTC?
This means that meetings and webinars can now be more accessible, and easier for people to join.
8 ©2021 RingCentral
WebRTC is now an official W3C and IETF standard
9 ©2021 RingCentral
How it benefits developers?
With a minimal effort, the application will be
supported by all the major browsers, on
desktop and mobile devices.
The entire stack is open source, the
community is large and supported by Apple,
Google, Microsoft and Mozilla, among others.
It comes with modern audio and video
codecs that are free to use.
var jsonObj = await resp.json()
console.log("Call placed. Call
status: " +
jsonObj.status.callStatus)
} catch (e) {
console.log(e.message)
}
}
10 ©2021 RingCentral
How it benefits developers?
And with Data Channel, possibilities are
endless…
● Mesh eCDN (Peer5, StreamRoot)
● Browser Torrent Client (WebTorrent)
● Whiteboarding
● Annotation, Remote Control
● Chat
The future of
WebRTC
12 ©2021 RingCentral
More Secure
End-to-end encryption (E2EE)
Secure Frame (Sframe), enables the developer to
implement true end-to-end media encryption,
even when a Media Server is involved.
13 ©2021 RingCentral
More Secure
WebRTC Encoded Transform
SFrameTransform will enable the developer
to apply transformation functions on
encoded media.
Some uses cases are:
● Captioning
● Transcription
● Language translation
● Funny hats
● Background removal or blurring
● In-browser compositing
● Voice effects
● Stress detection
14 ©2021 RingCentral
AI-powered features
WebRTC Insertable Streams exposes encoded data
from RTCPeerConnections
MediaStreamTrack Insertable Streams (a.k.a.
Breakout Box) enables the developer manipulating
raw media carried by MediaStreamTracks such as:
● the output of a camera, a microphone
● a screen capture
● the decoder part of a codec and the input to
the decoder part of a codec
15 ©2021 RingCentral
AI-powered features
WebCodec gives to the developer
full control over the way media content is processed
using media components that are already present in
the browser. Specifically:
● Video and audio decoders
● Video and audio encoders
● Raw video frames
● Image decoders.
16 ©2021 RingCentral
Better Media Quality
WebRTC Scalable Video Coding extensions to
enable configuration of encoding parameters for
SVC.
Many video codecs (VP8, VP9, AV1, H264-SVC)
have modes that allow an encoder to send out
video data in such a format that it's possible to strip
out certain packets from the stream and
reconstruct a lower quality video stream from the
result.
SVC is more efficient and more scalable than
simulcast.
VP9 SVC is partially “available” in WebRTC today.
SVC
Simulcast
Source: https://webrtchacks.com
17 ©2021 RingCentral
Better Media Quality
Lyra, neural audio codec for low-bitrate speech
● Very low-bitrate speech codec
● Processing latency of 90ms (on the slow end of the
spectrum of real-time voice codecs)
● Designed to operate at 3kbps
● Currently optimized for the 64-bit ARM android
platform
Soundstream, extends Lyra to support speech and
music
● Measured with MUSHRA (MUltiple Stimuli with
Hidden Reference and Anchor) expert listeners)
● Part of the next, improved version of Lyra
Source: https://ai.googleblog.com/2021/08/soundstream-end-to-end-neural-audio.html
18 ©2021 RingCentral
Better UX
Screen sharing
● Share THIS Tab, adding preferCurrentTab
to getDisplayMedia
● Share audio by default
Source: https://github.com/WICG/proposals/issues/32
19 ©2021 RingCentral
Better UX
Capture Handle, allows a display-capturing
web-application to confidently identify the
web-application it is display-capturing (if the
captured application has opted-in).
Some uses cases are:
● Detect and prevent the hall-of-mirrors
● Cross-App Communications
For instance, remotely control of a
presentation
● Detecting unintended/unapproved captures
● Analytics on the content being shared
(Wikipedia, CNN, etc)
Source: https://github.com/wicg/capture-handle/
Remote control of a presentation
Prevent the hall-of-mirrors
How RingCentral is
involved?
21 ©2021 RingCentral
Report Issues
● How to submit a WebRTC bug >>
● Bisect-builds.py
● Where to report:
○ crbug.com -- for Chrome.
○ bugzilla.mozilla.org -- for Firefox.
○ bugs.webkit.org -- for Safari.
○ developer.microsoft.com -- for Microsoft Edge.
○ bugs.webrtc.org -- for WebRTC native code.
python tools/bisect-builds.py -a mac
-g M85 -b M86 --use-local-cache
--verify-range
1
2
3
How RingCentral is involved?
https://webrtccourse.com
22 ©2021 RingCentral
How RingCentral is involved?
Feedback on Experimental Features
Example:
RED (RTP Payload for Redundant Audio Data)
● Extensive lab testing
● Internal User feedback
Source: RingCentral
23 ©2021 RingCentral
How RingCentral is involved?
Code Contribution
Examples:
Handling Powerpoint Presentation Mode
● Issue was reported 5 years ago
● 2 months of back and forth
Handling OpenOffice Presentation Mode
● Support of OpenOffice + improvements of the
previous implementation
● 7 months of back and forth
Individuals and corporations welcome!
https://webrtc.org/support/contributing
24 ©2021 RingCentral
How RingCentral is involved?
Standard Definition
● RingCentral is a W3C Member.
● Community Group (WICG.io) lightweight
venue for proposing and discussing new
web platform features.
W3C Membership not required.
Confidential
Thank you.
Thank you.
@ringcentraldevs
developers.ringcentral.com
Friday, January 01, 2021
async function call_ringout() {
try {
var resp = await
platform.post('/restapi/v1.0/account/~/ex
'from': { 'phoneNumber': RINGCENTRA
'to': { 'phoneNumber': RECIPIENT },
'playPrompt': false
})
var jsonObj = await resp.json()
console.log("Call placed. Call status
jsonObj.status.callStatus)
} catch (e) {
console.log(e.message)
}
}

More Related Content

What's hot

Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialTsahi Levent-levi
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
 
The State of WebRTC
The State of WebRTCThe State of WebRTC
The State of WebRTCRobin Hawkes
 
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
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
WebRTC Timeline and Forecast
WebRTC Timeline and ForecastWebRTC Timeline and Forecast
WebRTC Timeline and ForecastTsahi Levent-levi
 
Webrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_sysonWebrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_sysonsung young son
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskMoises Silva
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTCvline
 
WebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersWebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersHarry Behrens, PhD
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo IIILawrence Byrd
 
WebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and OpportunitiesWebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and OpportunitiesVladimir Beloborodov
 

What's hot (20)

WebRTC on Mobile
WebRTC on MobileWebRTC on Mobile
WebRTC on Mobile
 
WebRTC - a History Lesson
WebRTC - a History LessonWebRTC - a History Lesson
WebRTC - a History Lesson
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTC
 
The State of WebRTC
The State of WebRTCThe State of WebRTC
The State of WebRTC
 
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 overview
WebRTC overviewWebRTC overview
WebRTC overview
 
WebRTC Timeline and Forecast
WebRTC Timeline and ForecastWebRTC Timeline and Forecast
WebRTC Timeline and Forecast
 
Webrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_sysonWebrtc world tour_2019_2nd edition_ed1_uprism_syson
Webrtc world tour_2019_2nd edition_ed1_uprism_syson
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco Strategy
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
 
WebRTC DataChannels demystified
WebRTC DataChannels demystifiedWebRTC DataChannels demystified
WebRTC DataChannels demystified
 
WebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriersWebRTC: players, business models and implications for telecommunication carriers
WebRTC: players, business models and implications for telecommunication carriers
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo III
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
The WebRTC Data Channel
The WebRTC Data ChannelThe WebRTC Data Channel
The WebRTC Data Channel
 
WebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and OpportunitiesWebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and Opportunities
 

Similar to The future of WebRTC - Sept 2021

KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...Arnaud BUDKIEWICZ
 
Web rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapWeb rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapAmir Zmora
 
Web rtc 동향과 이슈 2017년_정리
Web rtc 동향과 이슈 2017년_정리Web rtc 동향과 이슈 2017년_정리
Web rtc 동향과 이슈 2017년_정리sung young son
 
WebRTC ... GWT & in-browser computation
WebRTC ... GWT & in-browser computationWebRTC ... GWT & in-browser computation
WebRTC ... GWT & in-browser computationJooinK
 
SkyViewer: An in-browser solution to fast video calling
SkyViewer: An in-browser solution to fast video callingSkyViewer: An in-browser solution to fast video calling
SkyViewer: An in-browser solution to fast video callingKaivalya Shah
 
WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013Hank Huang
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0Amir Zmora
 
WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??learjk
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTCGiacomo Vacca
 
Iaetsd arm based remote surveillance and motion detection
Iaetsd arm based remote surveillance and motion detectionIaetsd arm based remote surveillance and motion detection
Iaetsd arm based remote surveillance and motion detectionIaetsd Iaetsd
 
WbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekWbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekALTANAI BISHT
 
Utf 8'en'ibm sametime 9 - voice and video deployment
Utf 8'en'ibm sametime 9 - voice and video deployment Utf 8'en'ibm sametime 9 - voice and video deployment
Utf 8'en'ibm sametime 9 - voice and video deployment a8us
 
GStreamer support in WebKit. what’s new?
GStreamer support in WebKit. what’s new?GStreamer support in WebKit. what’s new?
GStreamer support in WebKit. what’s new?philn2
 
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)GStreamer support in WebKit. What's new? (GStreamer Conference 2015)
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)Igalia
 
Krank Geek April 2021 - Screensharing made easier
Krank Geek April 2021 -  Screensharing made easierKrank Geek April 2021 -  Screensharing made easier
Krank Geek April 2021 - Screensharing made easierArnaud BUDKIEWICZ
 

Similar to The future of WebRTC - Sept 2021 (20)

KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
 
Web rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapWeb rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards Gap
 
WebRTC eduCONF
WebRTC eduCONFWebRTC eduCONF
WebRTC eduCONF
 
Web rtc 동향과 이슈 2017년_정리
Web rtc 동향과 이슈 2017년_정리Web rtc 동향과 이슈 2017년_정리
Web rtc 동향과 이슈 2017년_정리
 
WebRTC ... GWT & in-browser computation
WebRTC ... GWT & in-browser computationWebRTC ... GWT & in-browser computation
WebRTC ... GWT & in-browser computation
 
SkyViewer: An in-browser solution to fast video calling
SkyViewer: An in-browser solution to fast video callingSkyViewer: An in-browser solution to fast video calling
SkyViewer: An in-browser solution to fast video calling
 
WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013WebRTC - Is it ready? 2013
WebRTC - Is it ready? 2013
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
 
WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
C44081316
C44081316C44081316
C44081316
 
Iaetsd arm based remote surveillance and motion detection
Iaetsd arm based remote surveillance and motion detectionIaetsd arm based remote surveillance and motion detection
Iaetsd arm based remote surveillance and motion detection
 
WbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeekWbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeek
 
Utf 8'en'ibm sametime 9 - voice and video deployment
Utf 8'en'ibm sametime 9 - voice and video deployment Utf 8'en'ibm sametime 9 - voice and video deployment
Utf 8'en'ibm sametime 9 - voice and video deployment
 
GStreamer support in WebKit. what’s new?
GStreamer support in WebKit. what’s new?GStreamer support in WebKit. what’s new?
GStreamer support in WebKit. what’s new?
 
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)GStreamer support in WebKit. What's new? (GStreamer Conference 2015)
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)
 
Krank Geek April 2021 - Screensharing made easier
Krank Geek April 2021 -  Screensharing made easierKrank Geek April 2021 -  Screensharing made easier
Krank Geek April 2021 - Screensharing made easier
 
Web rtc for iot, edge computing use cases
Web rtc for iot, edge computing use casesWeb rtc for iot, edge computing use cases
Web rtc for iot, edge computing use cases
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

The future of WebRTC - Sept 2021

  • 1. Confidential ©2021 RingCentral September 20, 2021 async function call_ringout() { try { var resp = await platform.post('/restapi/v1.0/account/~/ex 'from': { 'phoneNumber': RINGCENTRA 'to': { 'phoneNumber': RECIPIENT }, 'playPrompt': false }) var jsonObj = await resp.json() console.log("Call placed. Call status jsonObj.status.callStatus) } catch (e) { console.log(e.message) } } The future of WebRTC Arnaud Budkiewicz Sr Director of Video Engineering, W3C Member @ArnaudBud
  • 2. Agenda 1 2 The power of WebRTC ● What is WebRTC? ● Is WebRTC a standard? ● How it benefits developers? The future of WebRTC ● More secure ● AI-powered features ● Better media quality ● Better UX 3 How RingCentral is Involved? ● Report Issues ● Contributions ● Standard definition
  • 5. 5 ©2021 RingCentral ALL major browsers ● Chrome, Edge ● Firefox ● Safari Video, Audio, Data ● Codecs ● Audio engine ● Video engine ● Any data Peer-to-Peer ● 2 browsers ● 1 application, 1 server ● 2 servers Open-source ● JS API ● libWebRTC ● Chromium ● WebKit What is WebRTC? WebRTC is a real-time communication technology, that supports video, voice, and generic data to be sent between peers.
  • 6. 6 ©2021 RingCentral WebRTC Media Engine WebRTC Protocol Stack 1 2 What is WebRTC? Source: https://hpbn.co
  • 7. 7 ©2021 RingCentral Why use WebRTC? This means that meetings and webinars can now be more accessible, and easier for people to join.
  • 8. 8 ©2021 RingCentral WebRTC is now an official W3C and IETF standard
  • 9. 9 ©2021 RingCentral How it benefits developers? With a minimal effort, the application will be supported by all the major browsers, on desktop and mobile devices. The entire stack is open source, the community is large and supported by Apple, Google, Microsoft and Mozilla, among others. It comes with modern audio and video codecs that are free to use. var jsonObj = await resp.json() console.log("Call placed. Call status: " + jsonObj.status.callStatus) } catch (e) { console.log(e.message) } }
  • 10. 10 ©2021 RingCentral How it benefits developers? And with Data Channel, possibilities are endless… ● Mesh eCDN (Peer5, StreamRoot) ● Browser Torrent Client (WebTorrent) ● Whiteboarding ● Annotation, Remote Control ● Chat
  • 12. 12 ©2021 RingCentral More Secure End-to-end encryption (E2EE) Secure Frame (Sframe), enables the developer to implement true end-to-end media encryption, even when a Media Server is involved.
  • 13. 13 ©2021 RingCentral More Secure WebRTC Encoded Transform SFrameTransform will enable the developer to apply transformation functions on encoded media. Some uses cases are: ● Captioning ● Transcription ● Language translation ● Funny hats ● Background removal or blurring ● In-browser compositing ● Voice effects ● Stress detection
  • 14. 14 ©2021 RingCentral AI-powered features WebRTC Insertable Streams exposes encoded data from RTCPeerConnections MediaStreamTrack Insertable Streams (a.k.a. Breakout Box) enables the developer manipulating raw media carried by MediaStreamTracks such as: ● the output of a camera, a microphone ● a screen capture ● the decoder part of a codec and the input to the decoder part of a codec
  • 15. 15 ©2021 RingCentral AI-powered features WebCodec gives to the developer full control over the way media content is processed using media components that are already present in the browser. Specifically: ● Video and audio decoders ● Video and audio encoders ● Raw video frames ● Image decoders.
  • 16. 16 ©2021 RingCentral Better Media Quality WebRTC Scalable Video Coding extensions to enable configuration of encoding parameters for SVC. Many video codecs (VP8, VP9, AV1, H264-SVC) have modes that allow an encoder to send out video data in such a format that it's possible to strip out certain packets from the stream and reconstruct a lower quality video stream from the result. SVC is more efficient and more scalable than simulcast. VP9 SVC is partially “available” in WebRTC today. SVC Simulcast Source: https://webrtchacks.com
  • 17. 17 ©2021 RingCentral Better Media Quality Lyra, neural audio codec for low-bitrate speech ● Very low-bitrate speech codec ● Processing latency of 90ms (on the slow end of the spectrum of real-time voice codecs) ● Designed to operate at 3kbps ● Currently optimized for the 64-bit ARM android platform Soundstream, extends Lyra to support speech and music ● Measured with MUSHRA (MUltiple Stimuli with Hidden Reference and Anchor) expert listeners) ● Part of the next, improved version of Lyra Source: https://ai.googleblog.com/2021/08/soundstream-end-to-end-neural-audio.html
  • 18. 18 ©2021 RingCentral Better UX Screen sharing ● Share THIS Tab, adding preferCurrentTab to getDisplayMedia ● Share audio by default Source: https://github.com/WICG/proposals/issues/32
  • 19. 19 ©2021 RingCentral Better UX Capture Handle, allows a display-capturing web-application to confidently identify the web-application it is display-capturing (if the captured application has opted-in). Some uses cases are: ● Detect and prevent the hall-of-mirrors ● Cross-App Communications For instance, remotely control of a presentation ● Detecting unintended/unapproved captures ● Analytics on the content being shared (Wikipedia, CNN, etc) Source: https://github.com/wicg/capture-handle/ Remote control of a presentation Prevent the hall-of-mirrors
  • 21. 21 ©2021 RingCentral Report Issues ● How to submit a WebRTC bug >> ● Bisect-builds.py ● Where to report: ○ crbug.com -- for Chrome. ○ bugzilla.mozilla.org -- for Firefox. ○ bugs.webkit.org -- for Safari. ○ developer.microsoft.com -- for Microsoft Edge. ○ bugs.webrtc.org -- for WebRTC native code. python tools/bisect-builds.py -a mac -g M85 -b M86 --use-local-cache --verify-range 1 2 3 How RingCentral is involved? https://webrtccourse.com
  • 22. 22 ©2021 RingCentral How RingCentral is involved? Feedback on Experimental Features Example: RED (RTP Payload for Redundant Audio Data) ● Extensive lab testing ● Internal User feedback Source: RingCentral
  • 23. 23 ©2021 RingCentral How RingCentral is involved? Code Contribution Examples: Handling Powerpoint Presentation Mode ● Issue was reported 5 years ago ● 2 months of back and forth Handling OpenOffice Presentation Mode ● Support of OpenOffice + improvements of the previous implementation ● 7 months of back and forth Individuals and corporations welcome! https://webrtc.org/support/contributing
  • 24. 24 ©2021 RingCentral How RingCentral is involved? Standard Definition ● RingCentral is a W3C Member. ● Community Group (WICG.io) lightweight venue for proposing and discussing new web platform features. W3C Membership not required.
  • 25. Confidential Thank you. Thank you. @ringcentraldevs developers.ringcentral.com Friday, January 01, 2021 async function call_ringout() { try { var resp = await platform.post('/restapi/v1.0/account/~/ex 'from': { 'phoneNumber': RINGCENTRA 'to': { 'phoneNumber': RECIPIENT }, 'playPrompt': false }) var jsonObj = await resp.json() console.log("Call placed. Call status jsonObj.status.callStatus) } catch (e) { console.log(e.message) } }