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

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"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
 
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
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"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
 
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
 

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) } }