Webrtc plugins for Desktop Browsers

Alexandre Gouaillard
Alexandre GouaillardWebRTC Expert and Consultant. at CoSMo Software, LLC & CoSMo Software Consulting, Pte Ltd
Status of WebRTC plugins for
Desktop Browsers
Dr. Alex Gouaillard
Cosmo Software Consulting
Updated from the public Version from 2014’s webRTC conf and Expo talk.
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+
appRTCDEMO
24+ 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
WebRTCinWebkit
Nov 11, 2011
GoCast.it
2012 2013 2014
Sun, 22 Jul 2012
webrtc4all
June
16 Mar 2014 - FrozenMountain
04 Apr 2014 - Tokbox
15 Jan 2014 -
Temasys
05 Feb 2014 - Priologic
History of webRTC plugins for desktop browsers (not exhaustive, not flash)
JUNE 2014
1st
Open Source
plugin to
support IE
2nd
Open Source
plugin to
support IE
3rd
Open Source
plugin to
support IE
2012 2013 2014
History of webRTC plugins for desktop browsers (not exhaustive, not flash)
AUGUST 2015
Nov 11, 2011
GoCast.it
Sun, 22 Jul 2012
Doubango: webrtc4all
2015
15 Jan 2014
Temasys
05 Feb 2014
Priologic
16 Mar 2014 - FrozenMountain
04 Apr 2014 - Tokbox
XX Nov 2014 - CafeX
2016
23 July 2014
Doubango: 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.
Which WebRTC Stack
Actually, it’s pretty simple:
- stacks: webrtc.org or OWR(*)
- stack that compiles under windows (IE):
webrtc.org
Note: Doubango originally used their own stack
in webrtc4all, but moved to webrtc.org for its
replacement webrtc-everywhere.
(*) working on it (bug #2).
APIs – webRTC is a moving target
- Doubango webrtc4all: complete up to JSEP-02 (2012)
- GoCast.it: complete up to JSEP-03 (2013)
- Doubango webrtc-everywhere: JSEP-11, webRTC 1.0
- Temasys: JSEP-11, webRTC 1.0
No plugin implement the specs, since they do not support promises.
- Doubango will have to implement it manually
- Temasys depends on FireBreath which version 2.0 supports promises …
- Maybe … it’s not finalized (*)
(*) working on
Extra Features
Feature Comparison
Feature Temasys Doubango
Type Free Commercial same code
Open source NO YES
Source code licence N/A GPL Commercial
Full WebRTC specifications support for Internet Explorer & Safari YES YES YES
Regularly scheduled updates YES Not Really ?
Custom branded plugin binary NO YES YES
Control over auto-update NO YES doesn't have
Control over the distribution of binary/installer NO YES YES
Plugin binary audited / certified by 3rd party NO YES YES
Plugin binary and/or installer signing NO YES YES
Screen Sharing NO YES YES
Code Escrow (3rd party charges apply) NO YES YES
Embed plugin binary in custom installer / user flow NO YES YES
HTTP Proxy NO YES YES
H.264 (3rd party charges apply) NO YES not yet
Support for integration & ongoing issue resolution best effort SLA best effort SLA
Price free x0,000/y free ?
NOTE: support for H264 is coming within a month, as of september 2015.
Test suite
- Test Suite: “if it ain’t tested, it’s broken.”
- webRTC is a moving target,
 you have to test with the same standards as the browsers
 You have to test against the browsers
Temasys Test suite leveraging Karma, mocha, chai and jenkins is much more
advanced and open source (as in BSD). Anyone developping a plugin should
inspire him/herself:
https://github.com/Temasys/AdapterJS
JS Integration
- Everybody modifies Adapter.js.
- Temasys and webrtc-everywhere are quite different still
While most of the code of the webrtc-everywhere project is GPL, and you might
want to stay away from it unless your lawyer told you it s safe, their adapter.js is
BSD, feel free to take a look:
https://github.com/sarandogou/webrtc/blob/master/samples/web/js/adapter.js
Comparison: Overview
provider webRTC API API version Security middleware plugin type Browser support OS Support Test Suite Integration
Temasys YES
latest, no
promises
YES YES
NPAPI
IE and Safari win, mac YES YES
ActiveX
Doubango:
YES
latest, no
promises
YES NO
NPAPI
IE and Safari win, mac YES YES
everywhere ActiveX
GoCast YES 2013 (03) YES YES
NPAPI IE and Safari win, mac
YES YES
ActiveX not complete not complete
Doubango:
YES 2012 (02) YES NO
NPAPI
IE and Safari win NO YES
4all ActiveX
Tokbox
NO - YES YES ActiveX IE win N/A YES
Priologic
NO - NO NO ActiveX IE win NO NO
NOTES:
- gocast, doubango’s webrtc4all and priologic plugins project are no longer active.
- Interestingly, tokbox is based on FireBreath but does not support Safari. They
mentionned that their Safari users had no problem using Chrome, while their
entreprise windows clients are stuck with IE.
- While Doubango handwrite each version of their webrtc-everywhere plugin (win,
mac), the overhead does not seem to be too high, as the webrtc.org stack is
already cross platform.
Libwebrtc is a great asset, …
and a great pain
• Thankfully, separate projects provide
automation and trusted binaries to shield
developers from possible problems:
Webrtcbydralex.com
Future Difficulties: ORTC
• It’s the right API, however it s a bigger API
– The amount of work to support what s coming in
Q4 in the browser will leave 25% of the vendors
on the side.
1 of 12

Recommended

KITE Network Instrumentation: Advanced WebRTC Testing by
KITE Network Instrumentation: Advanced WebRTC TestingKITE Network Instrumentation: Advanced WebRTC Testing
KITE Network Instrumentation: Advanced WebRTC TestingAlexandre Gouaillard
1.4K views36 slides
Real-Time Communication Testing Evolution with WebRTC by
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCAlexandre Gouaillard
1.3K views52 slides
WebRTC Browsers n Stacks Implementation differences by
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesAlexandre Gouaillard
4.8K views42 slides
DYI - Starting your own webrtc project by
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc projectAlexandre Gouaillard
1.1K views21 slides
Janus conf'19: janus client side by
Janus conf'19:  janus client sideJanus conf'19:  janus client side
Janus conf'19: janus client sideAlexandre Gouaillard
1.1K views34 slides
WebRTC Status Update - 2017Q2 by
WebRTC Status Update - 2017Q2WebRTC Status Update - 2017Q2
WebRTC Status Update - 2017Q2Alexandre Gouaillard
831 views36 slides

More Related Content

What's hot

Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf... by
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Alexandre Gouaillard
2.4K views7 slides
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client) by
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)Alexandre Gouaillard
5.4K views62 slides
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta by
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaAlexandre Gouaillard
1.7K views13 slides
Deploying WebRTC in a low-latency streaming service by
Deploying WebRTC in a low-latency streaming serviceDeploying WebRTC in a low-latency streaming service
Deploying WebRTC in a low-latency streaming serviceAlexandre Gouaillard
3.7K views52 slides
WebRTC: A front-end perspective by
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
7.6K views86 slides
Quality Assurance for WebRTC Services by
Quality Assurance for WebRTC ServicesQuality Assurance for WebRTC Services
Quality Assurance for WebRTC ServicesTsahi Levent-levi
1.5K views18 slides

What's hot(20)

Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf... by Alexandre Gouaillard
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client) by Alexandre Gouaillard
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
IIT-RTC 2017 Qt WebRTC Tutorial (Qt Janus Client)
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta by Alexandre Gouaillard
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Deploying WebRTC in a low-latency streaming service by Alexandre Gouaillard
Deploying WebRTC in a low-latency streaming serviceDeploying WebRTC in a low-latency streaming service
Deploying WebRTC in a low-latency streaming service
WebRTC: A front-end perspective by shwetank
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
shwetank7.6K views
Quality Assurance for WebRTC Services by Tsahi Levent-levi
Quality Assurance for WebRTC ServicesQuality Assurance for WebRTC Services
Quality Assurance for WebRTC Services
Tsahi Levent-levi1.5K views
WebRTC Live Q&A and Screen Capture session 3 by Amir Zmora
WebRTC Live Q&A and Screen Capture session 3WebRTC Live Q&A and Screen Capture session 3
WebRTC Live Q&A and Screen Capture session 3
Amir Zmora1.9K views
WebRTC - On Standards, Identity and Telco Strategy by Jose de Castro
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco Strategy
Jose de Castro6.5K views
WebRTC Reborn SignalConf 2016 by Dan Jenkins
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
Dan Jenkins4.8K views
Streaming Media West: Webrtc the future of low latency streaming by Alexandre Gouaillard
Streaming Media West: Webrtc the future of low latency streamingStreaming Media West: Webrtc the future of low latency streaming
Streaming Media West: Webrtc the future of low latency streaming
Building great mobile apps: Somethings you might want to know by shwetank
Building great mobile apps: Somethings you might want to knowBuilding great mobile apps: Somethings you might want to know
Building great mobile apps: Somethings you might want to know
shwetank1.3K views
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw... by Dean Bubley
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 Bubley12.7K views
WEBRTC_SEMINAR_FOR_TEAM_by_daebalprime by Daeyeon Kim
WEBRTC_SEMINAR_FOR_TEAM_by_daebalprimeWEBRTC_SEMINAR_FOR_TEAM_by_daebalprime
WEBRTC_SEMINAR_FOR_TEAM_by_daebalprime
Daeyeon Kim375 views
WebRTC on Mobile Devices: Challenges and Opportunities by Vladimir Beloborodov
WebRTC on Mobile Devices: Challenges and OpportunitiesWebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and Opportunities
WebRTC overview by Rouyun Pan
WebRTC overviewWebRTC overview
WebRTC overview
Rouyun Pan4.2K views
WbeRTC in IOT presented in KrankyGeek by ALTANAI BISHT
WbeRTC in IOT presented in KrankyGeekWbeRTC in IOT presented in KrankyGeek
WbeRTC in IOT presented in KrankyGeek
ALTANAI BISHT557 views
8 pre launch steps to go with the web rtc based application development by MoonTechnolabsPvtLtd
8 pre launch steps to go with the web rtc based application development8 pre launch steps to go with the web rtc based application development
8 pre launch steps to go with the web rtc based application development
Видео+Конференция 2015: Секреты WebRTC: как вендоры извлекают пользу из проры... by TrueConf__
Видео+Конференция 2015: Секреты WebRTC: как вендоры извлекают пользу из проры...Видео+Конференция 2015: Секреты WebRTC: как вендоры извлекают пользу из проры...
Видео+Конференция 2015: Секреты WebRTC: как вендоры извлекают пользу из проры...
TrueConf__2.6K views

Similar to Webrtc plugins for Desktop Browsers

GDG Devfest 2016 session on Android N by
GDG Devfest 2016 session on Android NGDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android NImam Raza
428 views59 slides
Twilio Signal 2016 WebRTC Reborn by
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Inc
1.1K views136 slides
Streaming in grails by
Streaming in grailsStreaming in grails
Streaming in grailsSandeep Sankaye
3.2K views54 slides
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux by
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxIgalia
46 views54 slides
WebRTC Reborn - Full Stack by
WebRTC Reborn  - Full StackWebRTC Reborn  - Full Stack
WebRTC Reborn - Full StackDan Jenkins
744 views128 slides
Thadomal IEEE-HTML5-Workshop by
Thadomal IEEE-HTML5-WorkshopThadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-WorkshopRomin Irani
992 views33 slides

Similar to Webrtc plugins for Desktop Browsers(20)

GDG Devfest 2016 session on Android N by Imam Raza
GDG Devfest 2016 session on Android NGDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android N
Imam Raza428 views
Twilio Signal 2016 WebRTC Reborn by Twilio Inc
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC Reborn
Twilio Inc1.1K views
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux by Igalia
WAM: An embedded web runtime history for LG webOS and Automotive Grade LinuxWAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
WAM: An embedded web runtime history for LG webOS and Automotive Grade Linux
Igalia46 views
WebRTC Reborn - Full Stack by Dan Jenkins
WebRTC Reborn  - Full StackWebRTC Reborn  - Full Stack
WebRTC Reborn - Full Stack
Dan Jenkins744 views
Thadomal IEEE-HTML5-Workshop by Romin Irani
Thadomal IEEE-HTML5-WorkshopThadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-Workshop
Romin Irani992 views
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting) by Igalia
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia155 views
Gutenberg 101/Blocks - How to get along with, and even like WordPress's block... by R-Cubed Design Forge
Gutenberg 101/Blocks - How to get along with, and even like WordPress's block...Gutenberg 101/Blocks - How to get along with, and even like WordPress's block...
Gutenberg 101/Blocks - How to get along with, and even like WordPress's block...
DIY: Computer Vision with GWT. by JooinK
DIY: Computer Vision with GWT.DIY: Computer Vision with GWT.
DIY: Computer Vision with GWT.
JooinK1.1K views
DIY- computer vision with GWT by Francesca Tosi
DIY- computer vision with GWTDIY- computer vision with GWT
DIY- computer vision with GWT
Francesca Tosi406 views
Guiding Diffy to the Enterprise land by Dariusz Łuksza
Guiding Diffy to the Enterprise landGuiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise land
Dariusz Łuksza882 views
Flutter vs Java Graphical User Interface Frameworks - text by Toma Velev
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev40 views
Multimedia in WebKitGtk+, past/present/future by philn2
Multimedia in WebKitGtk+, past/present/futureMultimedia in WebKitGtk+, past/present/future
Multimedia in WebKitGtk+, past/present/future
philn21.3K views
WebRTC Reborn Over The Air by Dan Jenkins
WebRTC Reborn Over The AirWebRTC Reborn Over The Air
WebRTC Reborn Over The Air
Dan Jenkins2.1K views
Gwt kickoff - Alberto Mancini & Francesca Tosi by firenze-gtug
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosi
firenze-gtug1.2K views
GWT - AppDays - (25 aprile 2014, pordenone) by firenze-gtug
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)
firenze-gtug1.4K views

More from Alexandre Gouaillard

2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT by
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoTAlexandre Gouaillard
501 views22 slides
2016 February - WebRTC Conference japan - English by
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - EnglishAlexandre Gouaillard
2K views46 slides
2016 February - WebRTC Conference Japan - 日本語 by
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語Alexandre Gouaillard
832 views51 slides
WebRTC Object Model API - Transceivers by
WebRTC Object Model API - TransceiversWebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversAlexandre Gouaillard
6.9K views12 slides
overview-peerconnection-lifetime by
overview-peerconnection-lifetimeoverview-peerconnection-lifetime
overview-peerconnection-lifetimeAlexandre Gouaillard
2.2K views1 slide
Testing and packaging WebRTC Stack by
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC StackAlexandre Gouaillard
2.1K views26 slides

More from Alexandre Gouaillard(9)

Recently uploaded

Empathic Computing: Delivering the Potential of the Metaverse by
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
470 views80 slides
Voice Logger - Telephony Integration Solution at Aegis by
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
17 views1 slide
SAP Automation Using Bar Code and FIORI.pdf by
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdfVirendra Rai, PMP
19 views38 slides
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... by
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...NUS-ISS
28 views70 slides
Spesifikasi Lengkap ASUS Vivobook Go 14 by
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14Dot Semarang
35 views1 slide
Report 2030 Digital Decade by
Report 2030 Digital DecadeReport 2030 Digital Decade
Report 2030 Digital DecadeMassimo Talia
14 views41 slides

Recently uploaded(20)

Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst470 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma17 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... by NUS-ISS
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
NUS-ISS28 views
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang35 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 views
RADIUS-Omnichannel Interaction System by RADIUS
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction System
RADIUS15 views
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... by NUS-ISS
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
NUS-ISS37 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica... by NUS-ISS
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
NUS-ISS16 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin75 views
Understanding GenAI/LLM and What is Google Offering - Felix Goh by NUS-ISS
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
NUS-ISS41 views
.conf Go 2023 - Data analysis as a routine by Splunk
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
Splunk93 views
Web Dev - 1 PPT.pdf by gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet55 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada121 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software225 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb12 views

Webrtc plugins for Desktop Browsers

  • 1. Status of WebRTC plugins for Desktop Browsers Dr. Alex Gouaillard Cosmo Software Consulting Updated from the public Version from 2014’s webRTC conf and Expo talk.
  • 2. 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+ appRTCDEMO 24+ 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 WebRTCinWebkit
  • 3. Nov 11, 2011 GoCast.it 2012 2013 2014 Sun, 22 Jul 2012 webrtc4all June 16 Mar 2014 - FrozenMountain 04 Apr 2014 - Tokbox 15 Jan 2014 - Temasys 05 Feb 2014 - Priologic History of webRTC plugins for desktop browsers (not exhaustive, not flash) JUNE 2014 1st Open Source plugin to support IE 2nd Open Source plugin to support IE 3rd Open Source plugin to support IE
  • 4. 2012 2013 2014 History of webRTC plugins for desktop browsers (not exhaustive, not flash) AUGUST 2015 Nov 11, 2011 GoCast.it Sun, 22 Jul 2012 Doubango: webrtc4all 2015 15 Jan 2014 Temasys 05 Feb 2014 Priologic 16 Mar 2014 - FrozenMountain 04 Apr 2014 - Tokbox XX Nov 2014 - CafeX 2016 23 July 2014 Doubango: 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.
  • 5. Which WebRTC Stack Actually, it’s pretty simple: - stacks: webrtc.org or OWR(*) - stack that compiles under windows (IE): webrtc.org Note: Doubango originally used their own stack in webrtc4all, but moved to webrtc.org for its replacement webrtc-everywhere. (*) working on it (bug #2).
  • 6. APIs – webRTC is a moving target - Doubango webrtc4all: complete up to JSEP-02 (2012) - GoCast.it: complete up to JSEP-03 (2013) - Doubango webrtc-everywhere: JSEP-11, webRTC 1.0 - Temasys: JSEP-11, webRTC 1.0 No plugin implement the specs, since they do not support promises. - Doubango will have to implement it manually - Temasys depends on FireBreath which version 2.0 supports promises … - Maybe … it’s not finalized (*) (*) working on
  • 7. Extra Features Feature Comparison Feature Temasys Doubango Type Free Commercial same code Open source NO YES Source code licence N/A GPL Commercial Full WebRTC specifications support for Internet Explorer & Safari YES YES YES Regularly scheduled updates YES Not Really ? Custom branded plugin binary NO YES YES Control over auto-update NO YES doesn't have Control over the distribution of binary/installer NO YES YES Plugin binary audited / certified by 3rd party NO YES YES Plugin binary and/or installer signing NO YES YES Screen Sharing NO YES YES Code Escrow (3rd party charges apply) NO YES YES Embed plugin binary in custom installer / user flow NO YES YES HTTP Proxy NO YES YES H.264 (3rd party charges apply) NO YES not yet Support for integration & ongoing issue resolution best effort SLA best effort SLA Price free x0,000/y free ? NOTE: support for H264 is coming within a month, as of september 2015.
  • 8. Test suite - Test Suite: “if it ain’t tested, it’s broken.” - webRTC is a moving target,  you have to test with the same standards as the browsers  You have to test against the browsers Temasys Test suite leveraging Karma, mocha, chai and jenkins is much more advanced and open source (as in BSD). Anyone developping a plugin should inspire him/herself: https://github.com/Temasys/AdapterJS
  • 9. JS Integration - Everybody modifies Adapter.js. - Temasys and webrtc-everywhere are quite different still While most of the code of the webrtc-everywhere project is GPL, and you might want to stay away from it unless your lawyer told you it s safe, their adapter.js is BSD, feel free to take a look: https://github.com/sarandogou/webrtc/blob/master/samples/web/js/adapter.js
  • 10. Comparison: Overview provider webRTC API API version Security middleware plugin type Browser support OS Support Test Suite Integration Temasys YES latest, no promises YES YES NPAPI IE and Safari win, mac YES YES ActiveX Doubango: YES latest, no promises YES NO NPAPI IE and Safari win, mac YES YES everywhere ActiveX GoCast YES 2013 (03) YES YES NPAPI IE and Safari win, mac YES YES ActiveX not complete not complete Doubango: YES 2012 (02) YES NO NPAPI IE and Safari win NO YES 4all ActiveX Tokbox NO - YES YES ActiveX IE win N/A YES Priologic NO - NO NO ActiveX IE win NO NO NOTES: - gocast, doubango’s webrtc4all and priologic plugins project are no longer active. - Interestingly, tokbox is based on FireBreath but does not support Safari. They mentionned that their Safari users had no problem using Chrome, while their entreprise windows clients are stuck with IE. - While Doubango handwrite each version of their webrtc-everywhere plugin (win, mac), the overhead does not seem to be too high, as the webrtc.org stack is already cross platform.
  • 11. Libwebrtc is a great asset, … and a great pain • Thankfully, separate projects provide automation and trusted binaries to shield developers from possible problems: Webrtcbydralex.com
  • 12. Future Difficulties: ORTC • It’s the right API, however it s a bigger API – The amount of work to support what s coming in Q4 in the browser will leave 25% of the vendors on the side.

Editor's Notes

  1. Sun, 22 Jul 2012 Add sarandogou and the failure of priologic
  2. Sun, 22 Jul 2012 Add sarandogou and the failure of priologic JO 744 Alex 86 XR 26 Fr. 23 Yin 13
  3. Sun, 22 Jul 2012
  4. Sun, 22 Jul 2012
  5. Sun, 22 Jul 2012
  6. Sun, 22 Jul 2012
  7. Add sarandogou 11k loc