Netflix Phill Williams Jan 21, 2021

Optimizing the Aural Experience on Android Devices with xHE-AAC

Article Summary

Phill Williams and Vijay Gondi from Netflix reveal how a codec upgrade is solving one of mobile streaming's most annoying problems: constantly adjusting your volume.

Netflix deployed xHE-AAC audio codec to Android 9+ devices, bringing sophisticated loudness management and dynamic range control to mobile streaming. The team A/B tested against their existing HE-AAC codec to measure real-world impact on member behavior.

Key Takeaways

Critical Insight

xHE-AAC's intelligent loudness management and dynamic range control reduced volume adjustments and audio sink switching by up to 16%, proving that codec-level intelligence directly improves user experience.

The article details exactly how Netflix uses specific Android MediaFormat APIs to control decoder behavior and optimize for different listening environments.

About This Article

Problem

Netflix members had to constantly adjust volume when switching between titles. Action films came through at -27 dBFS while live concerts sat near the top of the mix, creating inconsistent dialogue levels across different types of content.

Solution

Netflix added MPEG-D DRC metadata in xHE-AAC to bring all dialogue to the same loudness level. The Android decoder uses KEY_AAC_DRC_TARGET_REFERENCE_LEVEL to handle this normalization, which removed the need for gain adjustments during encoding.

Impact

Members stopped turning up the volume as much since content played at a louder default level, about 11dB higher than before. Fewer people maxed out their volume settings, which suggests they were happier with how the audio sounded across different content types.