Sobre o projeto

Mpv∞ (Mpv-infinity) é um reprodutor de mídia Android de código aberto e sem anúncios construído em torno de dois motores de reprodução: MPV/libmpv e AndroidX Media3/ExoPlayer. Ele tem como foco a reprodução de vídeo e áudio de alta qualidade, com uma camada de controle configurável, uma biblioteca de mídia integrada e integrações opcionais de rede e servidor. Motores de reprodução - O motor MPV oferece amplo suporte a formatos, renderização avançada, shaders, scripts e controles detalhados do MPV. - O motor Media3 utiliza suporte de vídeo, áudio, codec, linha do tempo e dispositivo integrados à plataforma, incluindo uma extensão de áudio FFmpeg para compatibilidade extra de formatos de áudio. - Um modo de roteamento automático pode escolher o Media3 para itens Dolby Vision suportados e streams HLS/DASH, mantendo arquivos comuns no MPV; o motor também pode ser alternado por vídeo a partir dos controles de decodificador. - O Media3 suporta legendas duplas em camadas, linhas do tempo com reconhecimento de capítulos e ações de segmentos puláveis, como intro, recap, outro e créditos. Pipeline de vídeo e HDR O caminho Media3 Native suporta Dolby Vision e HDR10+ dependentes do dispositivo por meio da pilha de codecs de hardware do dispositivo. Um pipeline HDR baseado em shaders é alimentado pelo hdr-toys com shaders GLSL incluídos, oferecendo modos como BT.2100 PQ, BT.2100 HLG, mapeamento de gamut BT.2020 e Linear HDR, além de boost SDR-para-HDR, deband por CPU ou GPU e seleção automática entre backends OpenGL/Vulkan e gpu/gpu-next. O upscaling Anime4K está disponível em vários níveis de qualidade predefinidos, com uma proteção de segurança para 4K/8K. Gerenciamento térmico e de bateria Um ThermalMonitor faz amostragem da margem térmica durante a reprodução e pode limitar o orçamento de shaders, reduzir a qualidade do Anime4K sob pressão e diminuir a frequência de polling quando os controles estão ocultos ou a reprodução está pausada. O README também inclui um guia de otimização de bateria recomendando o renderizador gpu, o perfil rápido integrado e o uso seletivo de shaders. Legendas e IA As legendas suportam faixas primária e secundária com deslocamento automático, modos de substituição ASS, estilização extensa, um gerenciador de fontes, faixas incorporadas e externas, e modos de busca online (Wyzie, SubtitleHub, Hybrid) com busca de mídia baseada em TMDB. A geração experimental de fala para legenda é oferecida por meio de provedores Whisper em nuvem ou offline. A integração de IA abrange OpenAI, Anthropic, Groq, OpenRouter, Together e OpenCode Zen para tradução de legendas, reformatação de legendas e renomeação em massa de arquivos com prompts personalizados. Controles, gestos e interface O reprodutor oferece um layout de botões personalizável em quatro zonas, além de uma linha em retrato, mais de 25 tipos de botões, botões definidos pelo usuário executando comandos Lua, JavaScript ou mpv, layouts específicos por orientação e uma folha de configurações dentro do reprodutor. Os gestos incluem zonas configuráveis de toque duplo para avanço, avanço contínuo por múltiplos toques, avanço por deslize horizontal, velocidade dinâmica por toque longo, arrastar/zoom de legendas e busca por diálogo, zoom por pinça com deslocamento e aumento de volume além de 100%. A tematização inclui mais de 25 temas de cores, variantes AMOLED em preto puro e componentes Material 3 Expressive. Biblioteca, rede e integrações Um navegador de arquivos fornece visualizações de álbum e em árvore, fixação de pastas, contagens recursivas, badges de novos vídeos e clientes SMB, FTP e WebDAV integrados. Um cliente Jellyfin nativo navega por bibliotecas, pesquisa filmes e séries e reproduz mídia diretamente; servidores de solicitação compatíveis com Seerr/Overseerr são suportados para descoberta, disponibilidade e solicitações de temporadas. Salas Syncplay sincronizam pausa, retomada, avanço e posição com outros espectadores. O suporte a Google Cast inclui descoberta de dispositivos, transferência de posição, um servidor LAN com token para arquivos locais e transferência de stream remoto, usando o Default Media Receiver do Google sem transcodificação automática de formatos exclusivos do mpv. Utilitários e scripts Ferramentas adicionais incluem uma página de estatísticas ao vivo, um compressor de vídeo baseado em FFmpeg, predefinições de filtros de vídeo, segmentos de pulo personalizados provenientes de IntroDB, TIDB, AniSkip e Anime Skip, loop A-B, navegação quadro a quadro, timer de sono, reprodução em segundo plano adaptativa, suporte a playlists M3U, correspondência dinâmica de taxa de atualização, um visualizador de áudio e modelos de nome de arquivo para capturas de tela. A integração com yt-dlp fornece suporte a streaming para sites como YouTube, Twitch e Bilibili, com preferências independentes de codec, resolução, FPS, HDR, contêiner e taxa de bits de áudio. Um editor integrado com realce de sintaxe TextMate lida com scripts Lua e JavaScript, além das configurações mpv.conf e input.conf. Compilação e licenciamento O projeto é licenciado sob AGPL v3 e tem como alvo o Android. A compilação requer JDK 17, o Android SDK e Git; uma compilação de depuração é produzida com a tarefa Gradle assembleStandardDebug. As variantes de APK abrangem universal, arm64-v8a, armeabi-v7a, x86 e x86_64. As versões são distribuídas pelo GitHub, com um link de instalação via Obtainium fornecido.