À propos du projet
Mpv∞ (Mpv-infinity) est un lecteur multimédia Android open source et sans publicité construit autour de deux moteurs de lecture : MPV/libmpv et AndroidX Media3/ExoPlayer. Il vise une lecture vidéo et audio de haute qualité avec une couche de contrôle configurable, une bibliothèque multimédia intégrée et des intégrations réseau et serveur optionnelles.
Moteurs de lecture
- Le moteur MPV offre une large prise en charge des formats, un rendu avancé, des shaders, des scripts et des contrôles MPV détaillés.
- Le moteur Media3 utilise la vidéo, l'audio, les codecs, la timeline et la prise en charge des appareils intégrés à la plateforme, y compris une extension audio FFmpeg pour une compatibilité audio étendue.
- Un mode de routage automatique peut choisir Media3 pour les éléments Dolby Vision pris en charge et les flux HLS/DASH tout en conservant les fichiers ordinaires sur MPV ; le moteur peut aussi être changé par vidéo depuis les contrôles du décodeur.
- Media3 prend en charge les doubles sous-titres superposés, les timelines sensibles aux chapitres et les actions de segments ignorables telles que intro, récapitulatif, outro et générique.
Pipeline vidéo et HDR
Le chemin Media3 Native prend en charge le Dolby Vision et le HDR10+ selon l'appareil via la pile de codecs matériels de celui-ci. Un pipeline HDR basé sur des shaders est propulsé par hdr-toys avec des shaders GLSL intégrés, offrant des modes tels que BT.2100 PQ, BT.2100 HLG, le mappage de gamut BT.2020 et Linear HDR, plus un boost SDR-vers-HDR, un deband CPU ou GPU, et une sélection automatique entre OpenGL/Vulkan et les backends gpu/gpu-next. L'upscaling Anime4K est disponible en plusieurs niveaux de qualité prédéfinis avec une protection 4K/8K.
Gestion thermique et de la batterie
Un ThermalMonitor échantillonne la marge thermique pendant la lecture et peut plafonner le budget de shaders, rétrograder la qualité Anime4K sous pression et réduire la fréquence d'interrogation lorsque les contrôles sont masqués ou la lecture en pause. Le README inclut aussi un guide d'optimisation de la batterie recommandant le renderer gpu, le profil rapide intégré et un usage sélectif des shaders.
Sous-titres et IA
Les sous-titres prennent en charge les pistes primaires et secondaires avec auto-offset, modes de remplacement ASS, style étendu, gestionnaire de polices, pistes intégrées et externes, et modes de recherche en ligne (Wyzie, SubtitleHub, Hybrid) avec recherche de médias basée sur TMDB. Une génération expérimentale de sous-titres à partir de la parole est proposée via des fournisseurs Whisper cloud ou hors ligne. L'intégration IA couvre OpenAI, Anthropic, Groq, OpenRouter, Together et OpenCode Zen pour la traduction de sous-titres, le reformatage de sous-titres et le renommage de fichiers en masse avec des prompts personnalisés.
Contrôles, gestes et interface
Le lecteur offre une disposition de boutons personnalisable sur quatre zones plus une rangée portrait, plus de 25 types de boutons, des boutons définis par l'utilisateur exécutant des commandes Lua, JavaScript ou mpv, des dispositions selon l'orientation et une feuille de réglages dans le lecteur. Les gestes incluent des zones de double-tap seek configurables, un seek continu multi-tap, un seek par balayage horizontal, une vitesse dynamique par appui long, le glisser/zoom des sous-titres et le seek par dialogue, le pinch-to-zoom avec panoramique, et un boost de volume au-delà de 100 %. Le thème inclut plus de 25 thèmes de couleurs, des variantes AMOLED noir pur et des composants Material 3 Expressive.
Bibliothèque, réseau et intégrations
Un navigateur de fichiers propose des vues album et arborescente, l'épinglage de dossiers, des compteurs récursifs, des badges de nouvelles vidéos et des clients SMB, FTP et WebDAV intégrés. Un client Jellyfin natif parcourt les bibliothèques, recherche films et séries et lit les médias directement ; les serveurs de requêtes compatibles Seerr/Overseerr sont pris en charge pour la découverte, la disponibilité et les demandes de saisons. Les salons Syncplay synchronisent pause, reprise, seek et position avec d'autres spectateurs. La prise en charge de Google Cast inclut la découverte d'appareils, le transfert de position, un serveur LAN tokenisé pour les fichiers locaux et le transfert de flux distants, en utilisant le Default Media Receiver de Google sans transcodage automatique des formats propres à mpv.
Utilitaires et scripts
Des outils supplémentaires incluent une page de statistiques en direct, un compresseur vidéo basé sur FFmpeg, des préréglages de filtres vidéo, des segments ignorés personnalisés issus d'IntroDB, TIDB, AniSkip et Anime Skip, la boucle A-B, la navigation image par image, la minuterie de sommeil, la lecture en arrière-plan adaptative, la prise en charge des playlists M3U, l'adaptation dynamique du taux de rafraîchissement, un visualiseur audio et des modèles de noms de fichiers pour captures d'écran. L'intégration yt-dlp assure la prise en charge du streaming pour des sites tels que YouTube, Twitch et Bilibili avec des préférences indépendantes de codec, résolution, FPS, HDR, conteneur et débit audio. Un éditeur intégré avec coloration syntaxique TextMate gère les scripts Lua et JavaScript, ainsi que les configurations mpv.conf et input.conf.
Compilation et licence
Le projet est sous licence AGPL v3 et cible Android. La compilation nécessite JDK 17, le SDK Android et Git ; une build debug est produite avec la tâche Gradle assembleStandardDebug. Les variantes APK couvrent universal, arm64-v8a, armeabi-v7a, x86 et x86_64. Les versions sont distribuées via GitHub, avec un lien d'installation Obtainium fourni.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.