Sobre o projeto

O OTT-play FOSS é um player de IPTV/OTT construído em torno de um servidor HTTP local em Rust. Ele funciona em Smart TVs (LG WebOS, Samsung Tizen, Panasonic, Sony), set-top boxes (Infomir MAG, Dune HD, Enigma2, Android TV) e navegadores de desktop. A reprodução abrange streams HLS, DASH e HTTP simples através do HLS.js e Shaka Player, com reconexão live suave em erros fatais de parse de HLS ou de rede. O player fornece um EPG XMLTV com correspondência difusa de canais, time-shift/catch-up, linhas de guia mais densas, pesquisa de título de programa e lembretes antes de timers. Outros recursos incluem favoritos de múltiplas listas com PIN parental, exportação/importação de configurações e favoritos como JSON, bookmarks de retomada de arquivo de continuação de visualização e suporte para playlists M3U, API Xtream Codes e middleware Stalker. Existem 24 tipos de dispositivos com mapeamentos de teclas de controle remoto por dispositivo e 21 idiomas. Um sistema de comando push baseado em webhook permite que o player consulte uma URL local a cada 10 segundos. Os comandos são objetos JSON e incluem mensagens popup, troca de canal por número, nome ou seleção aleatória, e alterações de provedor. UUIDs de dispositivo permitem o roteamento por dispositivo, e um proxy local opcional permite automação totalmente local sem um servidor central. A entrada de texto remota (swop) pode usar o teclado de um telefone via Cloudflare Worker quando a TV e o telefone estão em redes diferentes; o worker requer a inclusão do UUID do dispositivo em uma lista de permissões. Os endpoints de poll e notificação de webhook do servidor central estão desativados por segurança, tornando o uso de proxy local recomendado para redes domésticas confiáveis. O suporte de depuração é opcional via query de URL, localStorage, uma propriedade de janela ou um endpoint de configuração do servidor. Quando ativado, um HUD pode mostrar detalhes da reprodução. Aplicativos móveis usam Capacitor para envolver o frontend TypeScript para iOS e Android. Documentação e scripts de smoke para Tauri desktop e dispositivos Capacitor existem para testes de Modo B. Pacotes de instalação estão anexados a releases marcadas: macOS .dmg/.app.zip (não assinado, com etapas de remoção de quarentena do Gatekeeper), Windows .msi/.exe, Linux AppImage/.deb/.rpm, iOS .ipa para sideloading via AltStore, TestFlight ou Xcode, e Android .apk para instalação direta ou ADB. Imagens Docker multi-arquitetura (amd64/arm64) são publicadas como alvit/ottplay-foss, construídas em musl/Alpine para rodar em hosts com glibc antigo, como Synology DSM Docker. A compilação a partir do código-fonte usa npm para o bundle do player e cargo para o servidor Rust; o README documenta scripts de smoke para companion, headers de stream-proxy, concorrência de logo, atualização de cache XMLTV, caminho de reprodução E2E Modo A, dispositivos Capacitor e Tauri desktop.