À propos du projet
OTT-play FOSS est un lecteur IPTV/OTT construit autour d'un serveur HTTP Rust local. Il fonctionne sur les Smart TV (LG WebOS, Samsung Tizen, Panasonic, Sony), les décodeurs (Infomir MAG, Dune HD, Enigma2, Android TV) et les navigateurs de bureau. La lecture couvre les flux HLS, DASH et HTTP simple via HLS.js et Shaka Player, avec une reconnexion automatique en cas d'erreurs fatales de parsing HLS ou de réseau.
Le lecteur fournit un EPG XMLTV avec correspondance floue des chaînes, time-shift/catch-up, des lignes de guide plus denses, la recherche par titre de programme et des rappels avant les minuteurs. Les autres fonctionnalités incluent des listes de favoris multiples avec code PIN parental, l'exportation/importation des paramètres et des favoris au format JSON, des marque-pages de reprise d'archive pour la poursuite du visionnage, ainsi que le support des listes de lecture M3U, de l'API Xtream Codes et du middleware Stalker. Il existe 24 types d'appareils avec des mappages de touches de télécommande par appareil et 21 langues.
Un système de commande push basé sur des webhooks permet au lecteur d'interroger une URL locale toutes les 10 secondes. Les commandes sont des objets JSON et incluent des messages contextuels, le changement de chaîne par numéro, nom ou sélection aléatoire, ainsi que des changements de fournisseur. Les UUID d'appareil permettent un routage par appareil, et un proxy local optionnel permet une automatisation entièrement locale sans serveur central. La saisie de texte à distance (swop) peut utiliser le clavier d'un téléphone via un Cloudflare Worker lorsque la TV et le téléphone sont sur des réseaux différents ; le worker nécessite l'ajout de l'UUID de l'appareil à une liste d'autorisation. Les points de terminaison de sondage et de notification webhook du serveur central sont désactivés pour des raisons de sécurité, l'utilisation d'un proxy local étant recommandée pour les réseaux domestiques de confiance.
Le support du débogage est optionnel via une requête URL, localStorage, une propriété de fenêtre ou un point de terminaison de configuration du serveur. Lorsqu'il est activé, un HUD peut afficher les détails de lecture. Les applications mobiles utilisent Capacitor pour encapsuler le frontend TypeScript pour iOS et Android. Une documentation et des scripts de test smoke pour Tauri desktop et Capacitor device existent pour les tests de Mode B.
Les packages d'installation sont joints aux versions taguées : .dmg/.app.zip pour macOS (non signés, avec étapes de suppression de la quarantaine Gatekeeper), .msi/.exe pour Windows, AppImage/.deb/.rpm pour Linux, .ipa pour iOS pour le sideloading via AltStore, TestFlight ou Xcode, et .apk pour Android pour l'installation directe ou ADB. Des images Docker multi-architectures (amd64/arm64) sont publiées sous alvit/ottplay-foss, basées sur musl/Alpine pour fonctionner sur des hôtes avec d'anciennes versions de glibc comme Synology DSM Docker. La compilation à partir des sources utilise npm pour le bundle du lecteur et cargo pour le serveur Rust ; le README documente les scripts smoke pour le compagnon, les en-têtes stream-proxy, la concurrence des logos, le rafraîchissement du cache XMLTV, le chemin de lecture E2E Mode A, les appareils Capacitor et Tauri desktop.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.