Should you use WebRTC?
ClueCon10 August 2016
May 2, 2023 2
3
Common reasons (/excuses) to stay on the couch with WebRTC
• ORTC vs. WebRTC – I don’t want to pick the wrong side
• No one is using the same codecs (VP8 vs. H.264)
• Microsoft doesn’t support WebRTC
• Apple doesn’t support WebRTC
• I can keep using flash
• Standards aren’t done
• WebRTC is buggy
May 2, 2023 4
vs.
Image source: USA Today, http://www.usatoday.com/story/sports/olympics/2013/02/14/olympic-wrestling-us-russia-iran/1921527/
© 2016 Chad Wallace Hart Consulting
NV
Standards convergeThe next version of WebRTC incorporates what’s new in ORTC while maintaining backward
compatibility with today’s WebRTC
Many ORTC objects are already in WebRTC 1.0PeerConnection .getSenders() .getReceivers() // Name TBD .addTransceiver(kind) .sctp ...
RtpSender .track .transport .getCapabilities() .getParameters() .setParameters(params) .replaceTrack(track) ...
RtpReceiver .track .transport .getCapabilities() .getContributingSources() ...
DtlsTransport .transport .state .getRemoteCertificates() .onstatechange ...
IceTransport .state .getLocalParameters(),
.getRemoteParameters(), .getLocalCandidates() .getRemoteCandidates() .getSelectedCandidatePair() .onstatechange ...
SctpTransport .transport
DataChannel .transport
RtpParameters .codecs .encodings ...RtpCodecParameters (read only) .mimeType .payloadType ...RtpEncodingParameters .active .maxBandwidth (read only) .ssrc ...IceParameters (read only) .usernameFragment .passwordDtlsParameters ...
Source: https://docs.google.com/presentation/d/1oDVgPQtYpQNRkgiP51OQJS1sOW6mjWcGvp129Bovd28
What you can do with WebRTC 1.0 objects
• "Warm up" media path while the getting a track and ringing
• Change the send codec (without SDP munging)• Change the camera source instantly (front to back)• Enable/disable sending of media instantly (without
signalling)• Set a max bandwidth• Obtain detailed status of individual ICE and DTLS
transportsSource: https://docs.google.com/presentation/d/1oDVgPQtYpQNRkgiP51OQJS1sOW6mjWcGvp129Bovd28
May 2, 2023 ClueCon 2016 8
ORTC vs. WebRTC – I don’t want to pick the wrong side
May 2, 2023 ClueCon 2016 9
ORTC is part of WebRTC and will be further integrated in NV… eventually
May 2, 2023 Chad Wallace Hart 10
May 2, 2023 Chad Wallace Hart 11
Image source: http://www.quotationof.com/gallery/win-win-situation-quotes-5.jpg.html
Outcome: everybody wins
• H.264 install base camp got H.264 as a mandatory codec• Royalty free camp has set the path for a royalty free codec world in the future through the Alliance for Open Media
12
Everyone does H.264/AVC now.. mostly
May 2, 2023
https://groups.google.com/forum/#!topic/discuss-webrtc/bDfxOA8XiJI https://blogs.windows.com/msedgedev/2016/05/27/previewing-h-264avc-for-ortc/
Behind a flag
May 2, 2023 13
No one is using the same video codecs (VP8 vs. H.264)Everyone supports H.264
What’s Microsoft Doing?
May 2, 2023 14
May 2, 2023 15
WebRTC at MicrosoftBROWSER NATIVECOMMS APP
>100M Users >300M MAUInstall base >350M Win 10 users
ORTC+WebRTC Skype for Web moving to WebRTC
Adding Visual Studio tooling that includes WebRTC
+ 8.1 install base
Edge is growing, but still tiny
http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
IE will continue to have meaninful
share for some time
http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
May 2, 2023 18
Microsoft doesn’t support WebRTC
May 2, 2023 19
Microsoft started late, but is now is doing quite a bit with WebRTC
Rotten Apple
May 2, 2023 20
21
3 ways Apple hurts WebRTC
May 2, 2023
Safari Other Browser Apps on iOS
WebView for iOS
No support for desktop or mobile
No support for easy native apps
No one else is allowed to make a WebRTC Browser
Apple Challenge: who do you care about?
WebRTC Support
Within OS Share
All Browser
Share*All Time Share*
Desktop
browser
Safari on OSX x ~50% ~2% ~1%
Chrome/Firefox on OSX ~50% ~2% ~1%
iOS Browse
r
Safari on iOS ~70% ~20% ~2%
Chrome/Firefox on iOS ~30% ~10% ~1%
Mobile iOS app
Webview on iOS- - ~20%
Bring your own RTC on iOS x
May 18, 2016 © 2016 Chad Wallace Hart Consulting 22
Share figures are rough estimates from Chad Wallace Hart consulting and statcounter.com* Desktop & mobile
May 2, 2023 Chad Wallace Hart 24
Apple doesn’t support WebRTC
May 2, 2023 Chad Wallace Hart 25
Apple has no WebRTC support on Safari or on any* iOS browser today, but they are
actively developing WebRTC
How Facebook handles browsers without WebRTC
May 18, 2016 © 2016 Chad Wallace Hart Consulting 26
What about Flash RTMP/RTMFP?
May 2, 2023 Chad Wallace Hart 27
Chrome is killing flash
May 2, 2023 Chad Wallace Hart 28
https://chrome.googleblog.com/2016/08/flash-and-chrome.html
Firefox isn’t far behind
May 2, 2023 Chad Wallace Hart 29
https://blog.mozilla.org/futurereleases/2016/07/20/reducing-adobe-flash-usage-in-firefox/
❌ ✔ ✔
WebRTC in Flash vendors
May 2, 2023 Chad Wallace Hart 30
May 2, 2023 Chad Wallace Hart 31
I can keep using flash
About standards…
May 2, 2023 Chad Wallace Hart 32
��
May 2, 2023 Chad Wallace Hart 33
https://www.w3.org/TR/mediacapture-streams/
Ready to go!
Still not done…
May 2, 2023 Chad Wallace Hart 34
https://www.w3.org/TR/webrtc/
��
May 2, 2023 Chad Wallace Hart 35
Standards aren’t done
Google’s 5-year stats• 2 Billion+ WebRTC Browsers• 1 Billion+ minutes/week• 950+ companies & projects• 5 Billion+ WebRTC app downloads
https://groups.google.com/forum/#!topic/discuss-webrtc/I0GqzwfKJfQhttps://docs.google.com/presentation/d/1JwnW6v3OM0RfoDYrPPTJrDNeIpidgh7hF_k5E1j2oKM/edit?usp=sharing
37
BUGS EVERYWHERE
May 2, 2023 Chad Wallace Hart 38
WebRTC is Buggy
bugs aren’t a good excuse when you have..
WebRTC works for billions of users
May 2, 2023 Chad Wallace Hart 39
WebRTC works for billions of users
May 2, 2023 Chad Wallace Hart 41
https://webrtchacks.com/facebook-webrtc/
WebRTC works for billions of users
https://webrtchacks.com/mayday-trace/May 18, 2016 © 2016 Chad Wallace Hart Consulting 42
192.168.1.122Kindle
RFC5766-TURN-Server
ec2-54-227-235-160.compute-1.amazonaws.com
SBC?
na4.edge-gacd.amazon.com
Port 45563
Port 29548RTP - G.711u
Port 59522
Port 3478RTP Type -116, RTCP
RTP Type -100, RTCP
Web Signaling
Kconnect-us.amazon.com
Port 443
HTTPS
Port 46011
TLSPort 443
Port 40787
Port 29549RTCP
Amazon Kindle HDX Mayday button Wireshark trace
Amazon in 2013
43
http://webrtchacks.com/mayday-trace/
Note they are running a WebRTC to SIP gateway
Don’t be scared,
May 2, 2023 Chad Wallace Hart 44
Be adaptive
May 2, 2023 Chad Wallace Hart 45
https://webrtc.github.io/adapter/adapter-latest.js
Be early
May 2, 2023 Chad Wallace Hart 46
Insider Preview (slow)
Insider Preview (fast)
Use the browser release cycle to find issues early
Be continuous
May 2, 2023 Chad Wallace Hart 47
Continuous Integration/Deployment
Be integratedTelecom Networks
Client Vendor 1
Telco 1
Telco 2
Client Vendor 2
Enterprise Networks Web Comms Networks
Handset 1
Telco
UC vendorPBX
SBC
app web
Webco
Webco
Webco
app web
app web
© 2016 Chad Wallace Hart Consulting
You can’t pawn your client problems off to an endpoint vendor – you are the end point provider
Be at the front-end
May 2, 2023 Chad Wallace Hart 49
Get good at the front-end and optimizing the user experience
Be part of the community
.org
++way more than you can stick on a slide…May 18, 2016 © 2016 Chad Wallace Hart Consulting 50
Join the 1000’s of man-hours of work put in already to make WebRTC better
About Me
May 2, 2023 Chad Wallace Hart 51
Head of Strategic Productshttps://[email protected]
A blog for WebRTC developershttps://webrtcHacks.com@webrtcHacks
WebRTC events & videoshttps://www.krankygeek.com/@webrtclive
Top Related