Badoo Jun 16, 2020

WebRTC on Android: Enabling Hardware Encoding Across Devices

Article Summary

Ivan Dyatlov from Bumble Tech discovered that WebRTC's H.264 hardware encoding failed on most Android 5.x devices despite official support claims. His deep dive into codec implementations reveals why video calls drain batteries on millions of smartphones.

Bumble and Badoo needed reliable video calling across all Android devices, especially older models from 2014-2016 still widely used. The team expected H.264 hardware encoding to work seamlessly on Android 5.0+, but reality proved far messier. This article documents their journey through manufacturer-specific codec quirks and the fixes that enabled hardware encoding across diverse chipsets.

Key Takeaways

Critical Insight

Enabling H.264 hardware encoding across Android devices requires manufacturer-specific workarounds for color formats, bitrate modes, and resolution handling that standard WebRTC implementations miss.

The article includes a detailed breakdown of which codec prefixes need specific fixes and the surprising forum post that solved a six-year-old encoding problem.

Recent from Badoo

Related Articles