Термин
ExoPlayer
Открытый видеоплеер Google для Android сейчас распространяется как часть AndroidX Media3. Поддерживает воспроизведение HLS, DASH, SmoothStreaming, MP4 и многих других форматов с поддержкой Widevine DRM.
ExoPlayer появился в 2014 году как альтернатива встроенному в Android MediaPlayer, поведение которого на разных устройствах было непредсказуемым, а поддержка стриминга – слабой. Google переработал его в гибкую библиотеку, выделив каждую стадию – DataSource, Extractor, Renderer – для настройки. К Android 10 (2019) ExoPlayer стал де-факто playback-движком практически всех Android-приложений для стриминга (Netflix, YouTube, Disney+, Twitch). В 2022 году он был переименован в AndroidX Media3 с обратно совместимым API.
Дизайн ExoPlayer модульный: `MediaSource` собирает стриминговую сессию из HLS, DASH или progressive MP4; `Extractor` парсит контейнерные форматы; `Renderer` оборачивает MediaCodec для декодирования видео и аудио; ABR-движок находится между source и renderer. Любой слой можно заменить, поэтому ExoPlayer используется в самых разных приложениях. Widevine DRM интегрирован через Android MediaDrm; FairPlay на Android не поддерживается.
Для Android-приложений, ориентированных на стриминг, в 2026 году ExoPlayer/Media3 – единственный практичный выбор. Нативный MediaPlayer слишком ограничен, а веб-плееры вроде hls.js, работающие в WebView, теряют аппаратное ускорение воспроизведения. Большинство задач Android-инженеров в области стриминга сводится к кастомизации ExoPlayer: модификация ABR-алгоритма, интеграция аналитики, настройка специфичных DRM-воркфлоу и учёт особенностей MediaCodec у разных вендоров.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.