3.5 KiB
Xtream Google TV Player
Projet Android TV / Google TV en Kotlin pour lire un accès Xtream compatible.
Ce ZIP contient un MVP propre : écran de connexion, appel player_api.php, chargement des chaînes Live et lecture vidéo avec Media3 ExoPlayer.
Contenu
XtreamGoogleTvPlayer/
├── settings.gradle.kts
├── build.gradle.kts
├── gradle/libs.versions.toml
└── app/
├── build.gradle.kts
├── proguard-rules.pro
└── src/main/
├── AndroidManifest.xml
├── java/ma/tkgraph/xtreamtv/
│ ├── MainActivity.kt
│ ├── data/
│ │ ├── model/
│ │ ├── network/
│ │ └── repository/
│ ├── ui/
│ │ ├── screens/
│ │ └── theme/
│ └── util/
└── res/
Fonctionnalités incluses
- Application Android TV reconnue par le launcher Google TV.
- Connexion via serveur, username et password Xtream.
- Vérification du compte via
player_api.php. - Récupération des chaînes Live via
get_live_streams. - Lecture des flux Live en
.m3u8avec Media3 ExoPlayer. - Navigation simple compatible télécommande.
- Dépendances prêtes dans Gradle Version Catalog.
Prérequis
- Android Studio récent.
- JDK 17.
- SDK Android 36 installé.
- Un appareil Google TV / Android TV ou un émulateur Android TV.
Lancement
- Dézipper le projet.
- Ouvrir le dossier dans Android Studio.
- Laisser Gradle synchroniser.
- Lancer sur un appareil Android TV / Google TV.
Commande possible :
./gradlew :app:assembleDebug
Sur Windows :
gradlew.bat :app:assembleDebug
Le wrapper Gradle complet n'est pas inclus dans ce ZIP. Android Studio peut utiliser son Gradle intégré. Pour générer un wrapper :
gradle wrapper.
Configuration Xtream attendue
Exemple :
Serveur : http://exemple.com:8080
Username : mon_user
Password : mon_pass
L'application appelle :
/player_api.php?username=USER&password=PASS
/player_api.php?username=USER&password=PASS&action=get_live_streams
Puis génère une URL de lecture :
/live/USER/PASS/STREAM_ID.m3u8
Si ton fournisseur utilise .ts au lieu de .m3u8, modifie cette ligne dans MainActivity.kt :
extension = "m3u8"
par :
extension = "ts"
Fichiers principaux
| Fichier | Rôle |
|---|---|
MainActivity.kt |
Navigation simple entre login, accueil et lecteur |
LoginScreen.kt |
Écran de connexion Xtream |
HomeScreen.kt |
Liste des chaînes Live |
PlayerScreen.kt |
Lecteur vidéo Media3/ExoPlayer |
XtreamApi.kt |
Endpoints API Xtream |
XtreamApiFactory.kt |
Création Retrofit dynamique selon le serveur |
XtreamRepository.kt |
Couche d'accès aux données |
XtreamUrlBuilder.kt |
Génération des URLs Live, VOD et séries |
À améliorer ensuite
- Stockage sécurisé des identifiants.
- Favoris.
- Catégories Live.
- VOD.
- Séries.
- EPG XMLTV.
- Reprise de lecture.
- Recherche.
- Choix automatique
.m3u8/.ts. - Design TV plus avancé avec composants TV spécialisés.
Note légale
Cette base technique sert à lire des flux pour lesquels l'utilisateur ou le fournisseur possède les droits nécessaires. Ne l'utilise pas pour contourner des accès, redistribuer du contenu protégé ou faire n'importe quoi que les avocats adorent transformer en facture.