WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and...

56
WebRTC A Practical Introduction Cloud Communications Alliance June 2015 Alan Quayle [email protected] www.alanquayle.com/blog www.tadhack.com www.tadsummit.com 6/22/15 1

Transcript of WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and...

Page 1: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

WebRTC A Practical Introduction

Cloud Communications Alliance June 2015 Alan Quayle [email protected] www.alanquayle.com/blog www.tadhack.com www.tadsummit.com

6/22/15 1

Page 2: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Objectives

•  Introduction to WebRTC for the technically minded lay-person.

•  Dangerous WebRTC Demos.

•  What do developers think?

•  Where’s the money in WebRTC?

•  Where is WebRTC going?

6/22/15 2

Page 3: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

What The Technology Geeks Say Open, Nothing Proprietary

No Plugs-Ins

Multi Platform / Device

Page 4: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

What The Standards Geeks Say

(Media)

(Signaling)

(Signaling)

“Set or RTC APIs for Web Browsers”

“New protocol profile”

WebRTC standards

Page 5: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

http://webrtcbook.com

5

Page 6: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Real-time stuff in browser / app with no plug-ins

Page 7: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 8: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 9: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

M2M and Telematics

Page 10: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Surveillance & Monitoring

Page 11: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lots & Lots & Lots of Devices

Page 12: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Embedding Communications

Everywhere!

Page 13: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Embedded communications

Copyright Disruptive Analysis Ltd 2015June 2015

In-app In-Browser In-Thing

Page 14: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 15: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 16: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 17: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Codec Wars

Opus, VP8

G.711, AMR-WB,

EVS, H.264

Page 18: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 19: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

There’s No Approval Process

Page 20: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Every Browser Gives you a Different Experience

Page 21: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Original “web” vision of WebRTC (2012 view)

Copyright Disruptive Analysis Ltd 2015June 2015

Web server

Javascript APIs W3C(connect, use cam/mic, send

data)

IETF RTCWeb Protocols(codecs, transport, security

etc)

Browser

P2P VoiceVideo

Realtime Data

No pre-defined signalling, IDs etc

Javascript APIs W3C(connect, use cam/mic, send

data)

IETF RTCWeb Protocols(codecs, transport, security

etc)

Browser

Open-source, no plug-ins Open-source, no plug-ins

Page 22: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Built-into apps / OS

And in 2015: Technology purists need not apply

Copyright Disruptive Analysis Ltd 2015June 2015

“WebRTC” is more a philosophy than a fixed standard

Javascript WebRTC APIs W3C

IETF RTCWeb Protocols

Browser

IETF RTCWeb Protocols (+maybe modifications)

3rd party APIs & cloud platforms

Plug-ins

ORTC APIORCA API

IETF RTCWeb Protocols

Browser + ???

??

Gateways

IMS

UC

Call centre

etc

Page 23: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

WebRTC on >6bn devices by 2019

Million WebRTC devices worldwide,

year-end

Source: Disruptive Analysis 2014 Edition WebRTC Report

0

1000

2000

3000

4000

5000

6000

7000

2011 2012 2013 2014 2015 2016 2017 2018 2019

Other (TV+M2M/IoT)

Smartphones

Tablets

PCs

Copyright Disruptive Analysis Ltd 2015June 2015

Page 24: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

The WebRTC Train has left the station and it isn’t going to wait for You

Page 25: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

WebRTC is a car without wheels!

Page 26: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

WebRTC Triangle

•  Both browsers running the same web application from web server •  Peer Connection media session is established between them •  Signaling is not standardized, could be SIP, Jingle, proprietary.

Uses HTTP or WebSockets for transport

Web Server (Application)

Browser M (Running HTML5 Application

from Web Server)

Browser L (Running HTML5 Application

from Web Server)

Peer Connection (Audio, Video, and/or Data)

26

The wheels!

Page 27: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

What WebRTC Means to Enterprises

DEMO TIME

Page 28: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

appear.in/alanquayle

Page 29: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

appear.in/alanquayle

Page 30: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 31: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

https://youtu.be/SxF9aohhAsY

Page 32: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 33: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Let’s all go back to 2010

Page 34: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

ENTERPRISE COMMUNICATION PROBLEM #1: THE DESKTOP PHONE IS A DINOSAUR

Why is it still around? •  Call quality •  Conference calling

•  Incumbency of

vendors •  Transfers/internal

call routing

What will kill the desktop phone? •  Expensive $50 per month?

•  People are increasingly not at their desks. •  Mobile phones are with people all

day and now have the potential to kill the desktop phone with

XYZ’s help.

Most communication (56%) happens when people are

NOT at their desk – source XYZ market research

Page 35: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

ENTERPRISE COMMUNICATION PROBLEM #2: USERS ARE PRISONERS OF CHOICE

Desktop Phone call

Mobile Phone

call

SMS

EMS

MMS Desktop

IM

Mobile IM

Mobile Voicemail

Desktop Voicemail

Video Call

Desktop Email

Mobile Email

Fax

Push to Talk

Push to X

MeetMe Conference

Colleague’s Phone

Business or Personal Numbers

Web Conference

VoIP Client

Skype

Yahoo! IM

MSN IM

Calling isn’t working: 70 percent of calls are forwarded to voicemail, less than 16% leave

a message and less than 5% are returned

Unified Communications has made the problem worse: Human latency is now costing the US economy $1T per year

XYZ solves this problem and improves productivity by 45 mins per day

– source XYZ market research

Page 36: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

The secret sauce of this start-up. (which never came to pass as it was

painfully too early to market)

Page 37: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lesson 1: History of WebRTC

camera mic network speaker screen

Vidyo/On2 GIPS GIPS O3D

libjingle

Google Talk/Hangouts

signalling

raw

low-level libraries

high-level library

app

server

Page 38: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lesson 1: History of WebRTC

camera mic network speaker screen

WebRTC

Your appyour signalling

your server

Page 39: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lesson 1: History of WebRTC

5 years agoLarge gap

Innovation slow

NowSmall gap

Innovation faster

Page 40: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 41: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lesson 2: WebRTC is Powerful

Takes care ofICE, STUN, TURN, IPv6, DTLS, DTLS-SRTP, RTP, audio codecs, video codecs, RTCP, BWE, AGC, AEC, jitter, error concealment, audio levels, FEC, RTX, SCTP, SDP, and lots more I can't remember right now...

So you don't have to

(as much)

Page 42: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lesson 2: WebRTC is Powerful

A BHello?

Hello

Magic!

A B

Bootstrap To secure, robust, low-latency, p2p audio, video, and data

Anything and everything

This is the F@$&ing Cool Bit everyone gets

Page 43: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lesson 4: How to use WebRTC

Your Job:1. Exchange "bootstrap" info2. Choose transport parameters3. Choose media to send/recv, and when4. Debug, debug, debug

(Don't let legacy "signalling" confuse you)

Debugging??? WTF!

Page 44: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Debug, debug, debug

RTC bugs can be really toughhigh expectations, low reproducibility, highly variable conditions, hardware failures, lots and lots of complexity, user misunderstandings .... get blamed for ISP problems :).

Very common bug report "They can't hear me"

Put on your detective hat :)

This is were you loose people

Page 45: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Lesson 5: How to do RTC Well1. Logging!2. Stats3. Learn the stack (so you can debug)4. Handle events (error, state changes)5. Don't forget: TURN, ICE restarts, device selection, mute state,

resolution changes, audio-only mode, bandwidth usage6. Watch stats: connect rate, "call" length, time to connect, time to

first audio, time to first video, estimated bandwidth, sent bandwidth, received bandwidth, sent resolution, recieved resolution

So what you’re saying is I need to understand the guts to be able to debug L

Page 46: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 47: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Spain, 49

Sri Lanka, 35

Mexico, 15 USA, 14

Hungary, 5 Slovakia, 2

Netherlands, 5

Belgium, 7

India, 6

Russia, 3

Philippines, 17

Nigeria, 2

Germany, 3 Tunisia, 2 UK, 5

Singapore, 2

Pakistan, 2 Japan, 3 Italy, 2

Brasil, 2

Canada, 2 Malaysia, 5

47

TADHack Survey (June) Country based

We used the TADHack Survey respondents from June to better understand what people other than the choir thought about WebRTC

Page 48: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

TADHack Survey (June) What’s their Business?

35

75

16

4

16

18

24

Student

App Developer

Telco

Consulting

Platform Provider

System Integrator

Tech Vendor

Total of 188 Responses

App developers and Students were the top 2 targets for TADHack. We engaged with the Illinois Institute of Technology Real Time Communications Lab as well as the Universidad Rey Juan Carlos ICT Department which bumped up student developer numbers.

Page 49: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

49

42.6%

68.1%

44.7% 53.2% 48.9%

55.3% 51.1%

0.0% 10.0% 20.0% 30.0% 40.0% 50.0% 60.0% 70.0% 80.0%

Tele

com

app

serv

ers (

in c

all

serv

ices

)

Tele

com

API

s Co

mm

unic

atio

ns (c

allin

g an

d m

essa

ging

)

Tele

com

API

s Pay

men

ts

Tele

com

API

s Pro

file

(Loc

atio

n, d

evic

e in

fo,

subs

crip

tion

info

)

FOSS

(Fre

e an

d O

pen

Sour

ce S

oftw

are)

Web

RTC

Dev

elop

men

t too

ls

Pre-Event Results: What Tech are of most interest to your projects?

Then we did some unscientific analysis – we asked the people who are NOT interested in WebRTC what they thought about it – because lets face it all telecom application developers should be interested in WebRTC

Page 50: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

So we asked them (60) some questions

•  Have you played with WebRTC? o  Yes 50 o  No 10

•  What did you think? – just a few of the quotes… o  Outside of Chrome to Chrome we could not get it to work most of the time, so gave up o  Using WebRTC video on mobile phones seriously eats the battery life, we love it, but for

our application its not viable with WebRTC

o  Isn’t WebRTC still in development? o  Its much more complex than just the browser specification, there are many WebRTC API

providers, other service vendors, and SDK vendors that you have to be an expert to even understand their offer never mind comparing the offers

o  We use WebRTC data channel in two of our experimental applications, its good, it does

requires constant maintenance as browsers get updated, so we’ve not included it in any of our commercial offers yet. Once things get more stabilized we’ll think about it.

Page 51: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Early Explorers Wild West Civil War Progressive Era Modern Era

My view on where we are with WebRTC. We’re in the wild west after the early explorers have mapped some of the landscape, with the privacy and security issues

better managed, we’ll see the big guys war it out, and with the market deciding we’ll enter a progressive era where the dominant innovations from the war are consolidated into standards. All ending in the modern era where WebRTC is

ubiquitous and no longer really mentioned, its just there.

A view on where we are with WebRTC

Page 52: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 53: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 54: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your
Page 55: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

Question: Would you base a service or business model entirely on CSS or HTML5 (of which WebRTC is part)?

•  No, that would be silly, its just a technology

•  You generally need more than WebRTC

•  For extending existing businesses and services you need partners to

manage away the complexity away

•  For hardcore blue-sky innovation – knock yourself out, as WebRTC

has the potential to do amazing hacks when mashed up

Page 56: WebRTC - Cloud Communications Alliance|...low-latency, p2p audio, video, and data Anything and everything This is the F@$&ing Cool Bit everyone gets Lesson 4: How to use WebRTC Your

$100B Ecosystem!