Об этом проекте

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.