-
-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Écarter les chaînes qui ne font pas partie de l' offre #79
Comments
Merci pour la discussion dédiée. Pour commencer à réfléchir à ce sujet, voilà quelques pistes de réflexions et connaissances que j'ai sur le sujet pour le moment. Idéalement, ça serait cool d'avoir un endpoint chez Orange qui renvoie directement la liste des chaînes filtrées. Mais pour le moment, je n'ai rien vu passer de tel. Et vu que sur le web ou leur application mobile, toutes les chaînes s'affichent, je n'ai pas de raison de croire qu'une telle fonctionnalité existe. Effectivement, la première alternative, ça serait de tester une à une toutes les chaînes. Il y en a un peu plus de 300, ça pourrait prendre un certain temps, surtout sur du vieux matériel... Pas sûr que ça soit pertinent de faire cette vérification au moment où IPTV Manager s'occupe de rafraîchir la liste et le guide. On pourrait imaginer comme alternative une action depuis les paramètres à lancer manuellement. Pour la mise à disposition, on a aussi plusieurs solutions, dont certaines que tu listes déjà :
Dis-moi si je me trompe, mais les soucis que tu évoques, c'est principalement des soucis au moment de l'affichage, quand tu charges les écrans de la liste des chaînes ou du programme TV ? Ou alors tu as des ralentissements aléatoires en plus, quand l'addon rapatrie localement les données des serveurs Orange ? |
Et c'est en effet du python 3 (3.8 précisément), tout coup de main est bienvenu ! Faut juste se faire à l'API de Kodi, c'est avec ça que j'ai le plus de mal, ça n'est pas hyper documenté. |
Deux choses:
Je n'avais pas pensé au groupe de chaîne dédié. Mais cela ne résoudrait que l'aspect ergonomique. De ce que j' ai cru comprendre, mettre les chaînes dans un groupe invisible ne les désactive pas. En effet, autant le code semble accessible à un débutant comme moi, autant les articulations au sein de l' API semblent complexes. La documentation simplifiée sera la bienvenue... |
Je vois ton point niveau ergonomie, je constate juste que ça n'est pas ce que fait Orange sur ces interfaces, donc ça me rend sceptique sur l'existence d'un endpoint qui donnerait directement cette information (ce qui serait l'idéal). Si tu me dis que la mise à jour du guide et de la liste des chaînes ralentit Kodi, il va falloir être malin. Aujourd'hui le plugin fait une dizaine d'appels à ce moment-là (certes un peu lourd, le guide fait 20 Mo chez moi). En ajoutant la vérification de toutes les chaînes, ça nous fait 300 appels de plus, ce qui n'est pas rien pour une petite config. Qu'est-ce que tu penses d'un bouton dans les paramètres qui ferait cette vérification à la demande, et garderait ce résultat en cache ? Ou alors j'ai une autre idée : un réglage qui prendrait un entier comme valeur, le nombre de jours de validité du cache. Si on met 0, on garde le fonctionnement actuel. Si on met 30, il fera la vérification de la disponibilité des chaînes lors de la prochaine mise à jour. Gros chargement qui mettra ta config à genou, mais tu seras tranquille pour les 30 prochains jours. |
Pour ce qui est des explications, je peux déjà te donner les grandes lignes pour le plugin :
En ce qui concerne l'API web d'Orange, je n'ai hélas pas de documentation précise à te proposer. J'imagine qu'ils doivent avoir ça en interne, mais je ne bosse pas chez eux. Pour avancer, j'ai simplement reproduit ce que faisait mon navigateur en allant sur chaines-tv.orange.fr, en observant l'inspecteur, jusque dans les headers des requêtes HTTP. Une petite galère comme tu peux t'en douter ! J'espère que ça répond déjà un peu à tes questions :) |
Réflexions matinales pour faire un peu avancer le schmilblick :
|
Je ne pense pas que ce soit une bonne idée de scanner, même une fois de temps en temps, les 397 chaînes pour voir celles qui marchent. Cela implique de faire autant de requêtes au serveur de licence et c'est risquer des contre-mesures qui rendraient le plugin inutilisable. J'ai une idée pour récupérer la liste des chaînes disponibles, je regarde dès que possible. |
@eluisne, dans le fichier plugin.video.orange.fr/resources/lib/providers/abstract_orange_provider.py, ligne 69, essaye de remplacer L'étape suivante est de trouver un moyen de récupérer les bouquets auxquels on est abonné. Ça devrait être possible puisque l'interface web affiche un panier dans le coin en haut à gauche d'une chaîne quand on n'y est pas abonné. |
Merci @remzouille et @f-lawe J' étais absent les derniers temps, mais je vais prendre le temps de lire et exploiter vos suggestions et ressources dans les jours à venir @remzouille Mon idée était primaire était en effet bien trop intuitive et je n' avais pas les risques de contre mesure en tête. Dans un premier temps, je vais essayer ta suggestion. |
Une solution facile à votre problème, vous récupérez le fichier m3u que vous modifiez en supprimant les chaînes que vous ne souhaitez pas. C'est rapide et fonctionnel. |
Effectivement, cependant sur les versions précédentes du plugin orange ça fonctionnait correctement. J'avais une liste m3u avec des liens du plugin orange melangés à des liens du plugin vavooto . Sur le coup je ne peux aider, je suis un simple utilisateur sans connaissance. En tout cas bravo pour votre travail! |
@Lulu5353 désolé, en ce moment je suis débordé. |
C'est le fonctionnement d'IPTV Manager. Il va régulièrement faire le tour des plugins compatibles, leur demander une liste de chaînes et un guide des programmes, puis il regroupe le tout et l'exposer à IPTV Simple PVR. Ca permet à plusieurs fournisseurs de m3u8 de fonctionner ensemble. Concernant le token : l'astuce qui est utilisée, c'est que les chaînes Orange TV France générées par le plugin n'indiquent pas directement une url publique qui serait disponible sur le web. Elles pointent vers une url interne à Kodi (en plugin://), qui lance le plugin. C'est lui qui s'occupe ensuite de se connecter correctement à Orange, de récupérer le flux vidéo, et de l'envoyer à IPTV Simple PVR. |
En fait, après essai, la technique de récupérer le fichier m3u et enlever les chaînes non souhaitées fonctionne bel et bien. Il suffit juste de remettre le lien du fichier dans la config IPTV simple. |
Ok, je pense que j'ai trouvé. Le site internet a fait peau neuve, et on voit clairement si un chaîne fait partie de l'abonnement ou pas, si on affiche la page en mode connecté : https://tv.orange.fr/en-direct/programmes-en-cours. Le endpoint derrière est un peu relou à parser, mais y'a ce qu'il faut : un attribut A voir d'ailleurs si on migre vers ces nouveaux appels, pour mimer le comportement. Il n'y a plus la recherche, mais on a gagné des catégories transversales à toutes les chaînes pour le replay, genre tous les films disponibles sur toutes les plateformes. Sympa. |
J'ai une solution qui évite de modifier les endpoints. En mode connecté, dans la page https://tv.orange.fr, il y a une variable javascript Voici un patch qui en tient compte, avec un peu de nettoyage (variables inutilisées). @f-lawe, si tu veux je peux lancer une PR. |
Pour éviter de remonter les chaînes qui ne font pas partie de l' offre un petit dev pourrait-etre utile.
En effet, c'est un peu long à faire manuellement en sélectionnant chaque chaîne depuis PVR & live TV settings. Mais pour l'ergonomie, c'est quand-même génial de n'avoir que des chaînes fonctionnelles et pour les appareils un peu plus vieux ça évite un gros ralentissement avec le téléchargement de métadonnées inutiles. (en particulier le guide TV et le picto de la chaîne)
Ex une petite boucle qui test chaque chaîne une fois pour toute. Si la chaîne ne fait pas partie de l'offre = soit non ajouté sur la playlist.m3u8, soit cochée comme non utilisée dans le fichier de settings de PVR & live TV settings.
Si c'est du python 3, je peux peut-être donner un coup de main.
The text was updated successfully, but these errors were encountered: