ClueCon 2016: Should you use WebRTC?

Post on 21-Apr-2017

682 views 0 download

Transcript of ClueCon 2016: Should you use WebRTC?

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 40

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://www.voxbone.comcwhart@voxbone.com

A blog for WebRTC developershttps://webrtcHacks.com@webrtcHacks

WebRTC events & videoshttps://www.krankygeek.com/@webrtclive

@chadwallacehartchad@chadwallacehart.com