The Bistri Developer Blog

The Bistri Developer Blog

WebRTC Revolution in progress!

Bistri Team June 26, 2014 engineering No comments

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.

WebRTC Statistics June 2014 Infographic

VP8 Hardware Acceleration for WebRTC

Bistri Team June 22, 2014 engineering 1 comment

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

New WebRTC Screen Sharing for Chrome

Bistri Team June 13, 2014 engineering, tutorial No comments
Screen sharing is a really convenient feature, for business purposes, for technical support, etc.

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:
WebRTC_ScreenSharing_Chrome-Ext_Popup

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

  1. 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
  2. Submit your Chrome Extension on the Chrome Developer DashboardWebRTC_ScreenSharing_Chrome-Ext_NewItem
  3. Select the “Inline Installation” checkbox to allow inline install for your extension (documentation) WebRTC_ScreenSharing_Chrome-Ext_InLineInstall
  4. Copy the ItemID of your extension:WebRTC_ScreenSharing_Chrome-Ext_ItemID
  5. Add your Chrome Extension id to the init object
    BistriConference.init( {
        appId: "125...445",
        appKey: "edhh64...99v35",
        chromeExtentionId: "paoa...oan",
        userName: "John Doe"
    } );
  6. 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


Bistri_Video_Conference

The full Javascript SDK reference: http://developers.bistri.com/webrtc-sdk/js-sdk-reference/