Alexey Bykov

Senior Software Engineer at Reddit & Android GDE

Talk Title

Improving Video Playback with ExoPlayer






13:25 > 40 min


on Twitter

Video has become an integral part of our life, and we are witnessing a significant rise in the integration of video content within Android apps. Sadly, there isn't much information out there about videos on Android. I've personally had a hard time finding practical ways to make videos better.

In this talk, my primary focus will be on sharing practical approaches with ExoPlayer that go beyond what is documented: We'll discuss the common problems with playbacks, solutions and will find a performant approach to use ExoPlayer together with Jetpack Compose.

I'll share everything that I learned practically during the last 8 months:
- Video basics: Media3, ExoPlayer and how it works
- Bandwidth and it's role
- Adaptive streamable protocols (HLS/Dash) vs custom ABR implementation
- Caching and Video Prefetching
- Initial video resolution improvements
- Time to the first frame improvements
- Performance with Jetpack Compose
- Architectural Approaches

Everything that will be mentioned is validated through real production scenarios and confirmed an efficiency by A/B tests.

Speaker Bio

I’m Alexey, Senior Android Software Engineer & Android GDE based in London.
Currently I work at Reddit where where I’m improving video experience on the main android app.

For most of my career, I have been working with large products with millions of active users. I got into
software development thanks to people who are actively sharing knowledge through blog posts and free
courses. This is why I spend a lot of my spare time sharing content with the community, and I sincerely enjoy it.
Over these years, I have given dozens of talks and written over 20 articles about Android.

Passionate about Kotlin, functional programming, Jetpack Compose, UI testing and Gradle.