Blog

...

Discussing Precompiled WebRTC Libraries or SDKs

It has always been possible to use WebRTC on mobile. Google released WebRTC for Android Chrome in July 2013, after a few months of Chrome 23 releasing on desktop. Since then the libwebrtc codebase (Google’s implementation of WebRTC) supports mobile.

No compiled binaries were offered by Google up until 2016. Till then, developers had to figure out everything on their own. Although there existed several GitHub repositories, having compiled WebRTC code. Those compilations were somewhat popular.  

In November 2016, Google introduced the official WebRTC libraries or SDK for Android and iOS which is maintained till today. It was called libwebrtc. Vendors such as Twilio or Nexmo building applications or even SDKs make use of libwebrtc for their basis of the VoIP stack implementation.

***

WebRTC Mobile SDK – Which One to Choose

Developers had to deal with this question before, during, and even now after the age of Google’s official pre-compiled mobile libraries for WebRTC. There are two routes for developer needing a WebRTC SDK: 

First, using Google’s libwebrtc project while compiling and maintaining it.

Second, going with another third-party library.

We recommend using Google’s libwebrtc as it is feature-rich, high-quality, and provides interoperability with browser capabilities. While you can opt for third-party libraries, you may find them lacking in – 

  • Commercial and cost
  • No codecs. You have to bring your own.
  • No support for effective bandwidth estimation
  • No acoustic echo cancellation
  • No peripherals support for media acquisition and/or playback
  • Interoperability with Chrome’s WebRTC

We are just skimming the surface here but strongly advise you to choose Google’s libwebrtc.  

***

How to Leverage Google libwebrtc Mobile SDK 

How can you make the best possible use of this immensely valuable libwebrtc? Here is what we suggest – 

  • Having a codebase for libwebrtc to compile and integrate into the application.
  • Do not automatically upgrade to the latest libwebrtc release. Doing that would mean releasing the application every 6-8 weeks. This will be a brutal release cycle.
  • Plan 2-4 upgrades a year of libwebrtc SDK. Any less and there is a danger of breaking interoperability with Chrome.
  • Consider libwebrtc a starting point. You will have minor fixes and optimizations in the app. Make sure they are well documented so that a future upgrade less complex and risky.
  • Revisit the fixes and optimizations. Some might not be needed anymore and removing those will improve performance.
  • Roll out carefully. Test application first internally and then with a small audience.

Make sure you are practicing this… 

***

Reducing  the risks with WebRTC

Are you looking to lower risks and increase time to market with that WebRTC project?

RTCWeb.in can help you. When it comes to WebRTC and real-time communication technologies, we help our clients get the answers they need and make sure their project is not delayed.

Contact us if you are interested.