aassif / pvr.freebox

Kodi + Freebox TV
MIT License
64 stars 24 forks source link

Pas d'icônes de chaines avec la version 2.01b-Leila Android 64bits #61

Closed lmaiaux closed 3 years ago

lmaiaux commented 4 years ago

Bonjour,

Super boulot, merci !

Je n'ai pas les icônes des chaines (sur tablette et smartphone Samsung). Une idée d'ou vient le problème ou d'une façon de forcer la récupération des icônes ?

Merci

ninjaw commented 4 years ago

Tout est auto, pas d'options. Merci de préciser la freebox.

lmaiaux commented 4 years ago

Freebox Revolution en mode routeur.

ninjaw commented 4 years ago

Merci cela peut être un processus automatique lent. Je me sers peu d'Android, mais mon dernier test a même l Android de la pop avait bien les icônes. Avez vous les images des films du coup ?

lmaiaux commented 4 years ago

Non aucune image, ni dans le guide, ni dans les enregistrements. Que veux-tu dire par "processus automatique lent" ? Au demarrage de Kodi, le PVR indique tres rapidement "902 chaines chargees" (peut etre rapidement parceque les images ne sont pas chargees)

aassif commented 4 years ago

Bonjour !

Le message "902 chaînes chargées" indique que la liste des chaînes a été analysée. Cependant, dans cette liste de chaînes, seuls les chemins des logos sont récupérés et transmis à Kodi. C'est Kodi lui-même qui va récupérer chaque image lorsqu'il en a besoin. Il en va de même pour le guide des programmes.

Je suppose donc qu'il y a un problème de chemin de fichier. Qu'obtenez-vous en chargeant l'URL http://mafreebox.freebox.fr/api/v5/tv/channels ? En particulier, pouvez-vous me donnez un exemple de logo_url ?

lmaiaux commented 4 years ago

Je vais verifier ce soir (je n'ai pas ma freebox sous la main). N'est-ce pas plutot .../api/v6/tv/channels ? (comme indique dans Freebox.cpp ligne 745, de plus Revolution=v6)

Il y a peut-etre autre chose : je n'ai pas creee de bouquet personnel, or il semble qu'a la ligne 754 de Freebox.cpp, la fonction Freebox::ProcessChannel termine avant de finir son traitement dans ce cas (qui justement utilise logo_url ligne 855).

J'essaierai donc ce soir apres avoir creee un bouquet...

aassif commented 4 years ago

v5 ou v6, cela devrait marcher. Inutile de créer un bouquet, le bouquet freeboxtv existe par défaut.

lmaiaux commented 4 years ago

Bonjour,

Avec mon smartphone Samsung:

Une idee ?

lmaiaux commented 4 years ago

Attention : mon message poste a supprime tous les "\" qui etaient devant les "/" dans le path de logo_url

lmaiaux commented 4 years ago

tous les antislashs :-)

lmaiaux commented 4 years ago

J'ai fait un autre essai avec la derniere nightly Matrix sur MacOS et le probleme est le meme.

En utilisant le mode debug de Kodi je vois ces lignes dans le log a chaque acces a l'url d'un logo (sans autre erreur avant ou apres):

2020-08-28 12:28:54.030 T:63169 DEBUG : GetImageHash - unable to stat url http://mafreebox.freebox.fr/api/v8/tv/img/channels/logos68x60/uuid-webtv-201.png

En accedant a l'url telle qu'affichee dans le log (avec Chrome), je vois bien le logo.

Si je sauvegarde une image de logo sur mon DD local en en modifiant le path de l'icone de la chaine (dans les parametres du gestionnaire de chaines de Kodi), je vois bien le logo dans Kodi... ... mais evidemment je ne veux pas faire ca pour toutes les chaines de la freebox.

A n'y rien comprendre !!!

Ces precisions vous donnent-elles des idees ?

Serait-il possible que le path des logos soit incorrect a cause des "\" que la freebox met devant les "/" dans les chaines logo_url et qu'ils ne soient pas acceptes par Kodi ? (dans ce cas il faudrait les supprimer avant des les fournir a Kodi)

aassif commented 4 years ago

Je n'ai pas l'occasion de regarder ça maintenant mais je peux essayer de répondre aux deux dernières questions :

Les mêmes erreurs apparaissent-elles également dans le log Leia ?

lmaiaux commented 4 years ago

Oui, ce sont les mêmes erreurs dans le log Leia de ma tablette Android.

aassif commented 4 years ago

J'ai le même problème chez moi ! Apparemment, la Freebox ne retournerait plus les entêtes en question et répond par un 404 : curl -I http://mafreebox.freebox.fr/api/v8/tv/img/channels/logos68x60/uuid-webtv-201.png

aassif commented 4 years ago

J'ai lancé une tâche sur le bugtracker officiel : https://dev.freebox.fr/bugs/task/32183

lmaiaux commented 4 years ago

Ok, merci !

aassif commented 4 years ago

J'ai eu une réponse sur le bugtracker mais pas celle que j'attendais :laughing: A priori, il faut que je cherche une autre piste !

lmaiaux commented 4 years ago

Je vois. Leur reponse est etonnante car je suppose que quand tu l'as developpe, ca marchait. Peut-etre que ca n'a jamais marche mais que ca ne retournait pas une erreur 404 avant (?)

Pour ma culture perso, qui fait une requete HEAD sur ces url d'images ? Kodi ou ton code ? Une requete GET ne peut pas etre utilisee a la place ?

aassif commented 4 years ago

Je n'ai aucune idée de si la requête HEAD marchait ou non. Par contre, c'était une piste intéressant puisque c'est ainsi que fonctionne GetImageHash.

D'autant plus que la 2.0.1b-Leia date de mars ! Soit ça vient de Kodi, soit ça vient de la Freebox. Et comme le problème est apparu à la fois sur Leia et sur Matrix, je pencherais pour la Freebox.

Quelles versions de Kodi utilisez-vous ? Quelle version de FreeboxOS ? @ninjaw, ça marche toujours chez toi ?

aassif commented 4 years ago

Pour ma culture perso, qui fait une requete HEAD sur ces url d'images ? Kodi ou ton code ?

Une requête HEAD demande les entêtes d'un fichier : https://developer.mozilla.org/fr/docs/Web/HTTP/M%C3%A9thode/HEAD

En général, pour connaître sa date de modif et, dans le cas d'un fichier binaire, sa taille.

Jez59 commented 3 years ago

Bonjour,

Mon commentaire n'apportera certainement rien de nouveau, mais j'ai constaté le même problème avec une version 2.0.3-Leia installée sur un Raspberry pi 3b. Le slogos ont disparu du jour au lendemain.

Je l'ai installé fin juin de mémoire et les logo ont disparus cet été (fin juillet / début aout ? je ne me souviens plus trop).

J'ai une Freebox Delta pour info.

Bon courage pour ce bug ! Joli travail pour l'ensemble de ton oeuvre !

ninjaw commented 3 years ago

se pourrait il que ca ait un lien avec l'annonce du bugfix urgence 18.9 qui mentionne de nombreux pb de connexion http ? je n'ai encore ni librelec ni android en 18.9

aassif commented 3 years ago

Malheureusement, j'en doute car il y est fait mention d'un problème avec Cloudflare.

ninjaw commented 3 years ago

pourquoi ? cloudfare semble etre un partenaire qui fait proxy web pour kodi ? (pour simplifier)

aassif commented 3 years ago

Réponse courte : ça ne marche toujours par sur la nightly Ubuntu. Réponse longue : je ne pense pas que Cloudflare intervienne entre le serveur FreeboxTV et moi.

aassif commented 3 years ago

J'ai refait des tests et j'ai mis en place une solution temporaire : les logos des chaînes sont désormais téléchargés localement et non plus à la volée par Kodi.

aassif commented 3 years ago

Reste à porter le fix sur la branche Leia et, surtout, à recompiler toutes les releases Leia :sob:

ninjaw commented 3 years ago

qu'en est il des screenshots ? je teste. Es tu en train de confirmer que le probleme ne viendrait pas de free ?

aassif commented 3 years ago

Les screenshots ne marchent toujours plus. Par contre, je ne peux pas me permettre de tout mettre en cache.

Vu que le problème touche Leia et Matrix, je pense que le problème vient de Free. Ils ont dû changer quelque chose mais je ne vois pas quoi. Peut-être y avait-il un problème chez Kodi qui ne se révèle que suite à cet éventuel changement.

aassif commented 3 years ago

@ninjaw Tu ne m'as jamais vraiment répondu : est-ce que ça marche chez toi ?

ninjaw commented 3 years ago

oui ca marche sur windows

lmaiaux commented 3 years ago

@ninjaw Avec quelle(s) Freebox(s)

ninjaw commented 3 years ago

ca fait 2 questions que je ne comprends pas ?? j'ai une freebox pop, pourquoi me demander ca ?

aassif commented 3 years ago

oui ca marche sur windows

Avec une install fraîche ?

ninjaw commented 3 years ago

non ? une mise a joru automatique ? pourquoi, qu'est-ce qu'il se passe ?

aassif commented 3 years ago

ca fait 2 questions que je ne comprends pas ?? j'ai une freebox pop, pourquoi me demander ca ?

Quel type de serveur ?

On te demande parce que ça marche chez toi et pas chez nous :)

aassif commented 3 years ago

Si tu es sous Windows 10, peux-tu essayer la commande suivante ? curl.exe -I http://mafreebox.freebox.fr/api/v8/tv/img/channels/logos68x60/uuid-webtv-201.png

ninjaw commented 3 years ago

ca fait 2 questions que je ne comprends pas ?? j'ai une freebox pop, pourquoi me demander ca ? Quel type de serveur ? On te demande parce que ça marche chez toi et pas chez nous :)

Heu c'est un serveur pop classique, mais je ne comprend pas: tu as posté que tu avais patché le truc en cloturant le probleme ? du coup ben j'ai regardé et ca a bien fait ce que tu asvais prevu , si vous parlez des screenshots, ca ne marche pas, comme prevu ! PS: je serais chez moi ce soir

aassif commented 3 years ago

OK. Je demandais si ça marchait ou pas avant le patch. Je n'étais pas certain que tu étais impacté par le bug. Inutile de tenter le curl si c'était le cas.

aassif commented 3 years ago

J'ai rouvert à cause des miniatures de l'EPG.

lmaiaux commented 3 years ago

Tu as compris puisque tu as repondu :-)

Les questions servent a cerner d'ou vient le probleme.

Pour ma part, je pense que le probleme vient d'une modification vers mars 2019 dans l'API REST de la Freebox Revolution (celle que j'ai) mais qui ne concerne peut-etre pas la Pop (celle que ninjaw a) Je pense que les requetes HEAD n'ont jamais marche (comme indique par Free) mais que ces requetes retournent desormais une erreur 404, ce qui conduit KODI a ne plus afficher les images.

Je pense que ces requetes HEAD sont utilisees pour savoir si une image mise en cache (par KODI) a change pour une meme URL (date, taille, ...) et donc si l'image doit etre relue pour mettre son cache a jour.

Je pense qu'avant (que la requete retourne 404), le cache etait interprete par KODI comme tout le temps a jour (pas de modification du contenu de l'image en fonction de l'URL) ou jamais a jour (relecture systematique affectant eventuellement les performances) mais que cela n'empechait pas la lecture et la visualisation des images...

Aassif, penses-tu qu'il soit possible d'introduire un wrapper (optionnel) entre ton module et la Freebox pour corriger les requetes HEAD (en les transformant en GET mais en retournant les messages/infos corrects du HEAD) ?

ninjaw commented 3 years ago

Ah ok. Oui j'avais le même problème sur toutes mes machines au même moment, contrairement à ce que j'ai pu dire.

aassif commented 3 years ago

Aassif, penses-tu qu'il soit possible d'introduire un wrapper (optionnel) entre ton module et la Freebox pour corriger les requetes HEAD (en les transformant en GET mais en retournant les messages/infos corrects du HEAD) ?

Sur le papier, rien ne l'empêche mais adieu la simplicité d'utilisation !

Jez59 commented 3 years ago

Reste à porter le fix sur la branche Leia et, surtout, à recompiler toutes les releases Leia 😭

Merci :D Je reste au také pour installer la mise à jour dès qu'elle sera dispo !

aassif commented 3 years ago

@lmaiaux @Jez59 Quelles architectures vous faut-il ?

Jez59 commented 3 years ago

@lmaiaux @Jez59 Quelles architectures vous faut-il ?

Bonjour,

J'utilise Kodi Leia sur un Raspberry pi 3b

D'avance merci pour la compilation :)

aassif commented 3 years ago

J'utilise Kodi Leia sur un Raspberry pi 3b

LibreELEC ?

Jez59 commented 3 years ago

J'utilise Kodi Leia sur un Raspberry pi 3b

LibreELEC ?

Oui

aassif commented 3 years ago

Je vais tenter ça ce week-end (LibreELEC 9.2.6).

Désolé de ne pas être super réactif en ce moment. J'aimerais avoir plus de temps pour m'occuper du PVR. Je ne désespère pas de trouver la cause réelle du problème !

aassif commented 3 years ago

Vu la solution que je viens de bricoler, je persiste à croire que la première piste était la bonne et que Freebox OS a changé quelque chose !

J'altère les URL des images pour que Kodi ne fasse plus jamais de HEAD mais systématiquement du GET. C'est pour moi la preuve que ce bug a été introduit par Free.