Upload
alexandre-gouaillard
View
349
Download
5
Embed Size (px)
Citation preview
Starting your webRTC project
Dr Alex Gouaillard
Citrix,IMTC, W3C, IETF
The big picture
The layers: Client side (Web)
Web App
Client JS API BE API
WebRTC Browser ORTC Browser
webRTC shim
other Browser
webRTC plugin
W3C’s webRTC JS API
internet
( Back – End Media OR p2p ) && ( Back – End ICE OR nothing ) Back – End Signaling
IETF’s rtcweb
The layers: Client side (Native)
Native App
Client native API BE API
Client native SDK
internet
( Back – End Media OR p2p ) && ( Back – End ICE OR nothing ) Back – End Signaling
IETF’s rtcweb
Web App
Client API BE API
WebRTC Browsers
other Browser
webRTC plugin
internet
The big picture
Native App Android
Android
APIBE API
Android
SDK
Native App iOS
iOS API BE API
iOS
SDK
Native Desktop App
Desk. API BE API
Desktop
SDK
Load Balancing,, Sessions and Security
Sig
Server
ICE
Server
API
ServerBilling
ServerStore
Server
Media
Server
Intero
p
ServerStats
C F O
Load
Test
main feature
client scalability
client types
server scalability
testing / QoS /Analytics
IE / Safarisupport
interop
Back EndTechnology
Web App
Client API BE API
WebRTC Browsers
other Browser
webRTC plugin
internet
The big picture : appRTC(GAE back-end)
Native App Android
Android
APIBE API
Android
SDK
Native App iOS
iOS API BE API
iOS
SDK
Native Desktop App
Desk. API BE API
Desktop
SDK
Load Balancing,, Sessions and Security
Sig
Server
ICE
Server
API
ServerBilling
ServerStore
Server
Media
Server
Intero
p
ServerStats
C F O
Load
Test
9
Client API BE API
WebRTC Browsers
other Browser
webRTC plugin
internet
The big picture : PeerJS / NTT Communications’ SkyWay
Native App Android
Android
APIBE API
Android
SDK
Native App iOS
iOS API BE API
iOS
SDK
Native Desktop App
Desk. API BE API
Desktop
SDK
Load Balancing,, Sessions and Security
Sig
Server
ICE
Server
API
ServerBilling
ServerStore
Server
Media
Server
Intero
p
ServerStats
C F O
Load
Test
Web App
main feature
client scalability
client types
server scalability
testing / QoS /Analytics
IE / Safarisupport
interop
Back EndTechnology
Web App (tawk.com)
Client API BE API
WebRTC Browsers
other Browser
webRTC plugin
internet
The big picture : priologic(tawk, easyrtc)
Native App Android ?
Android
APIBE API
Android
SDK
Native App iOS ?
iOS API BE API
iOS
SDK
Native Desktop App
Desk. API BE API
Desktop
SDK
Load Balancing,, Sessions and Security
Sig
Server
ICE
Server
API
ServerBilling
ServerStore
Server
Media
Server
Intero
p
ServerStats
C F O
Load
Test
10
Manual Single page testsweb-platform, adapter.js, whatever
50
Dev Nightly
50 50 49 49 - 47 0 4
htt
ps:
//g
ith
ub
.co
m/w
3c/
web
-pla
tfo
rm-t
ests
htt
ps:
//g
ith
ub
.co
m/w
ebrt
c/a
da
pte
r
© Dr. Alex Gouaillard @ Citrix Systems, 2016. Document provided under CC BY-NC 4.0
Automated Single page testsweb-platform, adapter.js, whatever
?
Dev Nightly
50 49 ?? ? ? ? ?
htt
ps:
//g
ith
ub
.co
m/w
ebrt
c/a
da
pte
r/tr
ee/m
ast
er/t
est
© Dr. Alex Gouaillard @ Citrix Systems, 2016. Document provided under CC BY-NC 4.0
Automated Single page testsWIP (AFAIK)
?
Dev Nightly
50 49 ?? ? ? ? ?
Nils IMTC Alex
© Dr. Alex Gouaillard @ Citrix Systems, 2016. Document provided under CC BY-NC 4.0
Interop Tests (Debian)©
Dr.
Ale
x G
ou
aill
ard
@ C
itri
x Sy
stem
s, 2
01
6. D
ocu
men
t p
rovi
ded
un
der
CC
BY
-NC
4.0
Interop Tests (Win10)
IMTC
IMTC
IMTC
© D
r. A
lex
Go
ua
illa
rd @
Cit
rix
Syst
ems,
20
16
. Do
cum
ent
pro
vid
ed u
nd
er C
C B
Y-N
C 4
.0
Wh
at w
e A
CTU
ALL
Yte
st t
od
ay
© Dr. Alex Gouaillard @ Citrix Systems, 2016. Document provided under CC BY-NC 4.0
WebRTC Pluginsfor safari and IE
The data from the field
State of the technology
A. Gouaillard and F. Regnoux:
appRTCDesk(github.com/agouaillard/appRTCDesk)
A. Gouaillard and S. Hussain:
Video Support for iOS(svn commits #5671, #5518)
Android
firefox chrome Opera ref client
24+ 29+ 18+
appRTCDEMO24+ 29+ 18+
24+ 29+ 18+
N/A
https://blogs.windows.com/msedgedev/2015/05/13/announcing-media-capture-functionality-in-microsoft-edge/http://webrtcbydralex.com/index.php/2015/08/29/webrtc-in-safari/
iOS
safari firefox chrome Opera ref client
against apple policy (2.17)appRTCDEMO
N/A
A. Gouaillard and A. Tiamou:
Webrtc.org back end for webkit(github.com/WebRTCinWebKit/webkit/tree/webkit-libwebrtc)
A. Gouaillard and Y. Liu:
datachannel for webkit(github.com/WebRTCinWebKit/webkit/tree/datachannel)
Desktop
chrome firefox IE Safari Opera ref client
GUM 18+ 17+ 15-May Code Done 12+ appRTCDesk
PC 20+ 22+ ? ? 18+ mac
DC 26+ 22+ ? Code Done 18+ win
GAE N/A linux
We
bR
TC in
We
bki
t
2012 2013 2014
History of webRTC plugins for desktop browsers (not exhaustive, not flash)AUGUST 2015
Nov 11, 2011GoCast.it
Sun, 22 Jul 2012Doubango: webrtc4all
2015
15 Jan 2014Temasys
05 Feb 2014Priologic
16 Mar 2014 - FrozenMountain
04 Apr 2014 - Tokbox
XX Nov 2014 - CafeX
2016
23 July 2014Doubango: webrtc-
everywhere
- Top lines are non generic plugins, that require that you use the plugin vendor Back end.- Bottom graph is about generic plugins, that can be used with any back-end.- Lines that merge back into the X axis are dead products.- webrtc4all last commit was in jan 2015, and doubango stated its intention to replace it with webrtc-everywhere on the corresponding mailing list.
Extra Features
Feature Comparison
Feature Temasys Doubango Dr Alex
Type Free Commercial same code Free
Open source NO YES YES
Source code licence N/A GPL Commercial Apache
Full WebRTC specifications support for Internet Explorer & Safari YES YES YES YES
Regularly scheduled updates YES Not Really ? TBD
Custom branded plugin binary NO YES YES YES
Control over auto-update NO YES doesn't have YES
Control over the distribution of binary/installer NO YES YES YES
Plugin binary audited / certified by 3rd party NO YES No need No need
Plugin binary and/or installer signing NO YES YES YES
Screen Sharing NO YES YES YES
Code Escrow (3rd party charges apply) NO YES No Need No Need
Embed plugin binary in custom installer / user flow NO YES YES YES
HTTP Proxy NO YES YES YES
H.264 (3rd party charges may apply) NO YES not yet YES
Support for integration & ongoing issue resolution best effort SLA best effort SLA best effort
Price free x0,000/y free ? free
NOTE: MS support for IE, and Cisco support for H264. Vidyo plans to add VP9 SVC ahead, for tests.Full integration in Chrome, Firefox and IE/Edge test suites, adapter.js, etc ….
Wrap up and Take Home
Web App
Client API BE API
WebRTC Browsers
other Browser
webRTC plugin
internet
The big pictureDIY – Cheat Sheet
Native App Android
Android
APIBE API
Android
SDK
Native App iOS
iOS API BE API
iOS
SDK
Native Desktop App
Desk. API BE API
Desktop
SDK
Load Balancing,, Sessions and Security
Sig
Server ICE
Server
API
Server
Billing
ServerStore
Server
Media
Server
Intero
p
Server
Stats
C F O
Load
Test
• easyrtc,• signalmaster / simplertc, • peerjs-server / peerjs• rtc.io
Signaling• holla• openPeer• Matrix• XMPP (jabber)
• lynckia/licode• Intel CS for WebRTC• meetecho (janus)• Kurento• jitsi (meetme)• Meedoze
• Kamailio• FreeSwitch• Asterisk
• Turn-rfc5766• Coturn• Resiprocate• Return
• Google appRTC• Ericsson OWR• Intel CS
• Google appRTC• Ericsson OWRIMTC
Doubango
webRTCinWebKit(not mature)