Playing AV1 videos with ExoPlayer

Sofija Jovic
Oct 10 · 1 min read

AV1 is a new video codec that aims to provide improved compression efficiency compared to VP9 and HEVC. Over the past year, we’ve seen considerable interest in supporting AV1 playback in ExoPlayer. As part of keeping pace with the latest developments in video coding, we’re pleased to announce that we’ve pushed the ExoPlayer AV1 extension to the development branch, and it will be included in an upcoming release. Read on to find out more about the extension.


Android 10 includes an AV1 decoder. This means ExoPlayer already supports AV1 videos on devices running Android 10, but until now, there was no support for devices running older Android versions. The ExoPlayer extension solves this by bundling libgav1, a new open-source AV1 decoder from Google that’s optimized for Android. With this approach, we can reach more than 99% of active Android devices.

Using the AV1 extension is easy! Follow the steps in the README to fetch libgav1 and its dependencies, and Android Studio will build the library automatically. The extension provides Libgav1VideoRenderer , which will be loaded as one of ExoPlayer’s video renderers if you use DefaultRenderersFactorywith SimpleExoPlayer. To try out the extension in the demo app, see the documentation on enabling extension renderers.


We’re looking forward to hearing your feedback! You can contact us via our GitHub issue tracker.

google-exoplayer

The ExoPlayer developer blog

Thanks to Andrew Lewis

Sofija Jovic

Written by

google-exoplayer

The ExoPlayer developer blog

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade