Термин
ExoPlayer
Open-source видеоплеер 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 слишком ограничен; web-based плееры вроде hls.js работают в WebView, но теряют аппаратно ускоренное воспроизведение. Большинство Android-стороны стриминг-инженерных вопросов – про кастомизацию ExoPlayer: модификация ABR-алгоритма, интеграция аналитики, специфичные DRM-воркфлоу, особенности MediaCodec у отдельных вендоров.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.