ExoPlayer is the de facto standard video player on Android, an open-source, application-level player that supports HLS, DASH, SmoothStreaming, ABR, and Widevine DRM, with a flexible architecture that teams customize for their needs. It now ships as part of AndroidX Media3.

Compared to the platform's basic MediaPlayer, ExoPlayer gives streaming teams the control they need - custom ABR logic, fine-grained buffering, advanced DRM handling, and detailed playback events for QoE instrumentation. It is the Android counterpart to AVPlayer on Apple platforms and the open-source web players on the browser, and a core building block of any Android OTT app.

Book cover: Video Encoding, Volume 1 of the Fora Soft Video Engineering HandbookBook cover: Video Streaming, Volume 3 of the Fora Soft Video Engineering HandbookBook cover: Video Streaming, Volume 2 of the Fora Soft Video Engineering Handbook

The handbook · 7 volumes

Fora Soft Video Engineering Handbook

ExoPlayer, now part of Media3, is the default video player on Android, and most of its value comes from how a team configures ABR, buffering, and DRM. We wrote seven volumes covering the video stack; for ExoPlayer start with Volume 3 on players, ABR, and Widevine DRM, then Volume 1 on codecs, with HLS and DASH in Volume 2. Written by Nikolay Sapunov, CEO at Fora Soft.

Browse the handbook on Amazon →7 volumes · 9,000+ pages · Kindle & paperback

Tuning ExoPlayer for faster start and fewer stalls on Android?

We will review your Android player setup and send a Media3 tuning plan for ABR, buffering, and DRM. 250+ video products shipped since 2005.

Book a 30-min call →WhatsApp →Email us →