Об этом проекте
GSYVideoPlayer — это open-source фреймворк Android-видеоплеера, поддерживающий несколько ядер воспроизведения, включая IJKPlayer, Media3 (ExoPlayer2), MediaPlayer и AliPlayer, которые можно переключать во время работы. Он предоставляет широкий набор возможностей видеовоспроизведения: списки, непрерывное воспроизведение, автоматическая/ручная ротация, изменение скорости, а также плавное переключение между списком и страницей деталей.
Ключевые возможности:
- **Кэширование**: воспроизведение во время кэширования с помощью AndroidVideoCache или SimpleCache для ExoPlayer
- **Поддержка протоколов**: H.263/264/265, HTTPS, RTSP, HLS, RTMP, DASH, MPEG, concat, crypto и другие
- **Фильтры**: более 20 видеофильтров (мозаика, чёрно-белый, размытие Гаусса и др.), анимации, водяные знаки и многоэкранное воспроизведение
- **Захват кадров**: извлечение первого кадра, скриншоты кадров, скриншоты составного UI и конвертация видео в GIF
- **Управление экраном**: настраиваемые соотношения сторон (по умолчанию, 16:9, 4:3, заполнение, пользовательское), углы поворота (0/90/180/270) и зеркальное вращение
- **Макеты**: переключение полноэкранного и неполноэкранного режимов, чистый режим воспроизведения без элементов управления, поддержка данмуку (bullet chat) и наследуемые пользовательские макеты
- **Оконные режимы**: воспроизведение в маленьком окне и поддержка многооконности, включая окна на рабочем столе
- **Реклама**: прероллы, возможность пропуска рекламы и межстраничная реклама
- **Субтитры**: унифицированная оверлейная поддержка внешних субтитров SRT/WebVTT для всех ядер с передачей встроенных cue Media3
- **Трансляция**: опциональный модуль DLNA/UPnP на базе jUPnP с протокол-независимой SPI-архитектурой
- **Кастомизация**: подключаемые слои рендеринга, управления, воспроизведения и кэширования
Проект также предлагает модуль Jetpack Compose с wrapper- и нативными режимами, предоставляя Compose-совместимые API, включая Composable GSYVideoPlayerView и поток состояний GSYPlayerSnapshot с event flow. Compose-пример включает 24 запускаемых activity, покрывающих различные сценарии использования.
Зависимости доступны через Maven Central (рекомендуется), GitHub Packages и JitPack. Проект поддерживает размер страницы 16K и использует FFmpeg 4.3 с OpenSSL 1.1.1w для расширенной поддержки форматов. Отдельно доступна версия для HarmonyOS.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.