프로젝트 소개
GSYVideoPlayer는 IJKPlayer, Media3(ExoPlayer2), MediaPlayer, AliPlayer 등 여러 재생 커널을 지원하며 런타임에 전환할 수 있는 오픈소스 Android 비디오 플레이어 프레임워크입니다. 목록 재생, 연속 재생, 중력/수동 회전, 가변 속도 재생, 목록과 상세 페이지 간 무전환 전환 등 다양한 비디오 재생 기능을 제공합니다.
주요 기능은 다음과 같습니다:
- **캐싱**: AndroidVideoCache 또는 ExoPlayer용 SimpleCache을 활용한 캐시 재생
- **프로토콜 지원**: H.263/264/265, HTTPS, RTSP, HLS, RTMP, DASH, MPEG, concat, crypto 등
- **필터**: 20가지 이상의 비디오 필터(모자이크, 흑백, 가우시안 블러 등), 애니메이션, 워터마크, 다중 화면 재생
- **프레임 캡처**: 비디오 첫 프레임 추출, 프레임 스크린샷, UI 합성 스크린샷, 비디오-GIF 변환
- **화면 제어**: 조절 가능한 화면 비율(기본, 16:9, 4:3, 우기, 사용자 정의), 회전 각도(0/90/180/270), 미러 회전
- **레이아웃**: 전체 면/비전체 화면 레이아웃 전환, 트롤 없는 순수 재생 모드, 탄막(弹幕墙) 지원, 상속 가능한 커스텀 레이아
- **창 모드**: 소형 창 재생 및 스크톱 창을 포함한 다중 창 지원
- **광고**: 프리롤 광고, 광고 너뛰기, 전면 광고 기능
- **자**: 모든 커널에서 SRT/WebVTT를 지원하는 통합 외부 자막 오버레이, Media3 임디드 큐 브리징
- **캐스팅**: jUPnP 기반의 선택적 DLNA/UPnP 모, 프로토콜 중립적 SPI 설계
- **스터마이징**: 플러그형 렌더링, 관리, 재생 제어, 캐시 계층
프로젝트는 Jetpack Compose 모듈도 제공하며, 퍼 모드와 네이티브 모드를 포함하고 GSYVideoPlayerView Composable과 GSYPlayerSnapshot 상태 스트림, 이벤트 플로우 등 Compose 친화적인 API를 제공합니다. Compose 샘플에는 다양한 사용 사례를 다루는 24개의 실행 가능한 액티비티가 포함되어 있습니다.
의존성은 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.