
The Bistri Developer Blog
WebRTC Revolution in progress!
In 2013, Bistri was the first WebRTC Vendor to publish statistics on a real usage on a production platform, based on 1.5 Million minutes of Video Calls.
But a lot has changed since last year. In addition to Google Chrome, 2 major web browsers have joined the WebRTC movement, Mozilla Firefox then Opera, enabling WebRTC on Mac OS, Windows, Linux, and Android. Thanks to Temasys’s Vendor-Independent Plugin, WebRTC works now on IE & Safari for desktops as well.
This year, the Bistri team has analyzed more than 6 months of data covering over 6 Million minutes of One-to-One Video Calls. Results are summarized and illustrated in the infographic below.
Major take-away: 76% of video-calls using WebRTC compared to 13% last year with an average call length of 17 minutes per call for the last 6 months. When the quality of the video and the audio is really good, people lose all notion of time…
Last but not least, 92% of those calls are P2P with no relay.
In the next months we will be able to measure if people prefer a no-plugin experience with Flash or if they are willing to download a plugin enabling WebRTC features within their default browser.
VP8 Hardware Acceleration for WebRTC
This is a list of systems with dedicated VP8 support. They should make a difference in terms of speed and power usage.
CompatibilityMatrix
Vendor | Model | Core | Multicore | VP8 Decode | VP8 Encode |
---|---|---|---|---|---|
Allwinner | A1x | Cortex-A8 | Single | Yes | No |
Allwinner | A20 | Cortex-A7 | Dual | Yes | No |
Allwinner | A31 | Cortex-A7 | Quad | Yes | No |
Broadcom | BCM2835 | ARM11 | Dual | Yes | No |
Broadcom | BCM2763 | ARM11 | Yes | No | |
Broadcom | BCM28150 | Cortex-A9 | Yes | No | |
DSP Group | XpandR III | Cortex-A8 | Single | Yes | No |
Freescale Semiconductor | i.MX 6 | Cortex-A9 | Dual | Yes | No |
Huawei | K3V2 | Cortex-A9 | Quad | Yes | No |
InfoTM | IMAPX220/210/200 | ARM11 | Yes | No | |
Intel | Bay Trail | Cortex-A7 | Yes | No | |
Leadcore | LC181 | Yes | No | ||
Marvell | Armada 1xxx | Yes | No | ||
Mediatek | MT5369 | Yes | No | ||
Mediatek | MT6250 | Yes | No | ||
Nufront | NS115 | Cortex-A9 | Dual | Yes | No |
nVidia | Tegra 4 | Cortex-A15 | Quad | Yes | Yes |
Qualcomm | Snapdragon 800 | ARM7 | Quad | Yes | Yes |
Rockchip | RK29xx | Cortex-A8 | Single | Yes | No |
Rockchip | RK30xx | Cortex-A9 | Dual | Yes | Yes |
Rockchip | RK3188 | Cortex-A9 | Quad | Yes | No |
Samsung | Exynos 5 Dual 5250 | Cortex-A15 | Dual | Yes | No |
Silicon Integrated Systems | SiS9610 | Single | Yes | No | |
Spreadtrum | SC6820, SC6825 | Cortex-A5 | Single | Yes | No |
STMicroelectronics | SPEAr1340 | Cortex-A9 | Dual | Yes | No |
ST-Ericsson | NovaThor LT9540 | Cortex-A9 | Dual | Yes | Yes |
Texas Instruments | OMAP5 Series | Cortex-A15 | Dual | Yes | No |
ZiiLABS | ZMS-20 | Cortex-A9 | Dual | Yes | No |
ZiiLABS | ZMS-40 | Cortex-A9 | Quad | Yes | No |
Since version 27, Google Chrome offers a screen sharing functionality. That feature was activated with a flag [“Enable screen capture support in getUserMedia()” ].
However Google has recently decided to change the way screen sharing is implemented in Chrome.
From now on, screen sharing requires a Chrome Extension. Yes… each web site editor has to submit its own extension on the Chrome WebStore.
Now the good news: with this new implementation, you can share your entire screen or just a specific window.
As an exemple, this is how the dialog box looks like on Bistri.com when you share a screen:
Neither Firefox nor Opera has support for screen sharing yet. However, you can view a screen or a window shared from Google Chrome on both Firefox and Opera.
Tutorial
- Create your own Chrome Extension, customizing the code of our Screen Sharing Extension on Git. Clone this extension and open the
manifest.json
: – line 2: modify the name attribute – line 15-20: set all domains allowed use this extension - Submit your Chrome Extension on the Chrome Developer Dashboard
- Select the “Inline Installation” checkbox to allow inline install for your extension (documentation)
- Copy the ItemID of your extension:
- Add your Chrome Extension id to the init object
BistriConference.init( { appId: "125...445", appKey: "edhh64...99v35", chromeExtentionId: "paoa...oan", userName: "John Doe" } );
- Start local stream
BistriConference.startStream( "screen-sharing", function( stream ){ // display stream into the page BistriConference.attachStream( stream, document.body ); } );
You can test the Bistri extension on the Bistri demo conference:
http://bistri.com/demo/conf
The full Javascript SDK reference: http://developers.bistri.com/webrtc-sdk/js-sdk-reference/