À propos du projet

GSYVideoPlayer est un framework de lecteur vidéo Android open source qui prend en charge plusieurs noyaux de lecture, notamment IJKPlayer, Media3 (ExoPlayer2), MediaPlayer et AliPlayer, interchangeables à l'exécution. Il offre un large éventail de capacités de lecture vidéo, y compris la lecture en liste, la lecture continue, la rotation automatique/manuelle, la lecture à vitesse variable et le basculement transparent entre les pages de liste et de détail. Les fonctionnalités clés incluent : - **Mise en cache** : lecture pendant la mise en cache avec AndroidVideoCache ou SimpleCache pour ExoPlayer - **Prise en charge des protocoles** : H.263/264/265, HTTPS, RTSP, HLS, RTMP, DASH, MPEG, concat, crypto, et plus encore - **Filtres** : plus de 20 filtres vidéo (mosaïque, noir et blanc, flou gaussien, etc.), animations, filigranes et lecture multi-écran - **Capture d'images** : extraction de la première image vidéo, captures d'écran d'image, captures d'écran d'interface composée et conversion vidéo en GIF - **Contrôles d'affichage** : ratios d'affichage ajustables (par défaut, 16:9, 4:3, remplissage, personnalisé), angles de rotation (0/90/180/270) et rotation miroir - **Mise en page** : basculement entre les mises en page plein écran et non plein écran, mode de lecture pure sans contrôles, prise en charge des danmaku (commentaires en balle), et mises en page personnalisées héritables - **Modes fenêtrés** : lecture en petite fenêtre et prise en charge multi-fenêtre, y compris les fenêtres de bureau - **Publicités** : publicités pré-roll, possibilité de passer les publicités et fonctionnalité de publicité interstitielle - **Sous-titres** : superposition externe de sous-titres unifiée prenant en charge SRT/WebVTT sur tous les noyaux, avec pontage des cues intégrées Media3 - **Diffusion** : module DLNA/UPnP optionnel construit sur jUPnP avec un design SPI neutre en termes de protocole - **Personnalisation** : couches de rendu, de gestion, de contrôle de lecture et de cache enfichables Le projet propose également un module Jetpack Compose avec des modes wrapper et natif, fournissant des API adaptées à Compose, notamment un Composable GSYVideoPlayerView et un flux d'état GSYPlayerSnapshot avec un flux d'événements. L'exemple Compose comprend 24 activités exécutables couvrant divers cas d'usage. Les dépendances sont disponibles via Maven Central (recommandé), GitHub Packages et JitPack. Le projet prend en charge la taille de page 16K et utilise FFmpeg 4.3 avec OpenSSL 1.1.1w pour une prise en charge de formats étendue. Une version HarmonyOS est également disponible séparément.