Un (tout petit) tour d’horizon

Yop,

un tout petit tour d’horizon s’impose. Le travail sur (et autour de) Enna fait son petit bonhomme de chemin. Le design était sans cesse modifié mais depuis quelques semaines on a enfin quelque chose de relativement stable. Personnellement je n’ai pas beaucoup travaillé sur Enna car je continue à me concentrer sur libvalhalla. Il y a encore deux régressions de Enna qui sont dues à l’utilisation de libvalhalla.

Je parle de régressions, bien qu’il n’y a jamais eu de sortie officielle et stable. Il faut comprendre par là qu’avec toutes les modifications qui ont été apportées à Enna, de temps en temps des fonctionnalités disparaissent simplement parce qu’elle devraient être gérées d’une autre manière.

La première régression que je veux souligner est celle de pouvoir reprendre la lecture d’un film à l’endroit où il a été interrompu. Dit comme ça, il n’y a rien d’exceptionnel. Mais “à l’époque”, l’enregistrement se faisait à l’aide de Eet qui était également utilisé pour stocker les méta-données des fichiers audio/vidéos. Depuis l’arrivée de libvalhalla et donc d’une base de donnée SQLite, Eet n’avait plus beaucoup de sens et cette partie a été simplement supprimée d’Enna. Mais la lib ne permet pas l’écriture depuis son API publique pour plusieurs raisons. Tout d’abord Valhalla ce n’est pas une bibliothèque pour gérer une base de donnée, mais c’est avant tout un scanner de fichiers, des “parsers” et des “grabbers”. Les données sont récupérées par elle automatiquement. Il est donc possible de les lire depuis l’API publique. Lorsque des données doivent être modifiées, elles le sont depuis les fichiers (tags ID3 par exemple), ou alors depuis les site internets qui fournissent des informations (les grabbers, ImDB, Amazon, etc, …).

Mais pour répondre à certains besoins comme la sauvegarde de la position d’un film, il est nécessaire de reconsidérer cette question sur libvalhalla. J’ai donc commencé à travailler sur cet aspect il y a peu de temps. Il y aura ainsi une information qui permettra d’identifier des données venant de l’extérieur (parser, grabbers, …) et des données venant de l’intérieur. Pour mieux comprendre pourquoi il est nécessaire de faire des séparations, l’exemple d’un champ “playcount” est bien adapté. Le “playcount” (donc le nombre de fois qu’un fichier est lu), dépend uniquement de l’utilisateur d’Enna. Si le fichier en question est modifié (les tags par exemple), ce champ doit rester intacte ce qui n’est pas possible actuellement.

La deuxième régression concerne les “snapshots” (ou “fanarts”). Ils servent à avoir une image illustrant une video. Par exemple les images suivantes présentent les résultats pour quatre “trailers” où des données intéressantes ont pu être récupérées par les “grabbers” (j’ai récupéré les “trailers” sur le site d’Apple, merci au blogger en lien <ici> et <ici> pour l’astuce).


Dans tous ces exemples les images de fond ont pu être téléchargées sur le site TheMovieDB.org. Mais il peut arriver qu’aucune image ne soient disponibles et donc une alternative est nécessaire. Actuellement il y a une image de fond par défaut pour ces cas de figure, mais le but est de créer un “snapshot” directement avec le contenu de la vidéo. Cette fonctionnalité était disponible à l’époque où libvalhalla n’existait pas, et libplayer faisait office d’intermédiaire pour récupérer l’image à 20% de la vidéo. L’idée désormais est donc d’utiliser le “grabber” FFmpeg (ajouté il y a peu de temps) pour extraire l’image. Bien sûr, il ne faut pas l’extraire dans les cas où TheMovieDB contient déjà un “snapshot” de bien meilleur qualité.

Il y bien entendu toujours un panneau d’informations pour les vidéos. Il va encore probablement subir des modifications, et donc rien de ce qui est montré dans ces “screenshots” ne peut être considéré comme définitif.

Il y a encore d’autres choses qui ont évoluées aussi bien au niveau de l’audio que de la vidéo, mais mon objectif  pour ce billet est uniquement de parler des deux régressions. Du côté de libvalhalla, les “grabbers” tels que Amazon, Allocine et LyricWiki re-fonctionnent normalement (espérons que se sois pour encore longtemps). A part ça, une grande partie des modifications sont internes tel que de l’optimisation et des corrections de bugs par exemple.

A bientôt,

Mathieu SCHROETER

5 thoughts on “Un (tout petit) tour d’horizon

  1. Salut,

    Tout d’abord bravo pour le boulot déjà fait sur la geexbox ( qui a donné une 2ème vie de HTPC à mon vieux pentuim !).
    J’ai lu ton blog en diagonale, j’ai trouvé ça très intéressant et j’ai donc décidé de tester Enna.

    Après quelques heures, j’ai enfin réussi à voir la nouvelle interface, esthétique sympa, j’ai vraiment été bluffé lorsqu’il m’a affiché une image de fond pour le film Brazil avec une description, vraiment la classe !

    Voilà j’ai une petite question concernant la musique et les pochettes. Apparemment Enna télécharge en tache de fond toutes les pochettes pour les mettre en base, ça a durer très longtemps chez moi ( environ 2 heures ). Le résultat est très bon puisque environ 95% de mes albums avaient leurs images.
    Voilà ma remarque, maintenant de plus en plus de mp3 contiennent la pochette de l’album dans leur tag id3, avant d’aller grabber les cover sur net, tu pourrais vérifier qu’il n’y a en a pas déjà une dans le fichier.
    Le logiciel “eyeD3 -i DIR –write-images=DIR” le fait bien.

    En tout bravo, j’ai hâte de voir la suite.

    Bonne soirée.

    PS:Si vous avez besoin de bêta testeur, ce sera un plaisir …

    1. Salut,

      tout d’abord il y a un système “ondemand” qui s’occupe de “grabber” en priorité les données d’un fichier sélectionné. Sauf q’Enna n’utilise cette fonctionnalité que depuis quelques jours et uniquement pour la partie vidéo actuellement. Ce qui veut dire qu’il faudra patienter pour l’audio, absolument rien de ce qui est disponible actuellement est complet, debuggé ou définitif. Par exemple, bien que ce système “ondemand” est utilisé avec les films, il est nécessaire de se déplacer et de revenir sur le film pour s’en rendre compte, simplement parce que le rafraichissement des données (en même temps qu’elles sont “grabbées”) n’est pas encore implémenté dans Enna.

      Concernant le fait que certains fichiers audio ont l’image intégrée je jetterais un oeil avec FFmpeg, mais ça ne devrait pas être un problème, merci de l’avoir souligné. Ensuite pour le téléchargement des pochettes, infos, etc tu n’es pas obligé d’attendre. Quand tu fermes Enna il sauvegarde où il en était et reprend au prochain lancement. Et dès que le “ondemand” sera utilisé (et au complet, en rafraichissant à mesure), tu ne te rendras plus compte qu’il télécharge en arrière plan.

      Le temps que ça prend ce n’est pas directement lié aux pochettes. C’est lié aux grabbers que t’as compilé avec libvalhalla. Plus il y a de grabber et forcément plus c’est long pour chaque fichier. Il y a beaucoup d’informations “grabbées” qui ne sont absolument pas montrées dans Enna, comme par exemple un des “grabber” se charge de télécharger les paroles des chansons. Si ces infos ne sont pas visibles c’est juste parce qu’on a pas encore bossé dessus du point de vue de l’interface. Il y a encore d’autres choses dans le genre.

      Merci à toi et bonne soirée
      Mathieu

    1. Salut,
      yép on connait passion-xbmc.org, simplement personne n’a encore pris le temps d’en écrire un.

      Peut être à l’avenir,

      Merci, A+

  2. Bonjour,

    Concernant l’utilisation de la base de données de Passion-XBMC, nous sommes enchantés d’accueillir de nouveaux projets.

    Cependant il existe une API et des outils utiles pour le faire il suffit de faire une petite demande sur http://passion-xbmc.org/scraper-cine-passion-support-francais/.

    Je me permet de faire la remarque car de plus en plus de gens essayent de récupérer le contenu sans demander et en utilisant des méthodes plus ou moins bourrins sur le serveur ce qui a entrainé la mise en place de mécanismes de contrôles pour assurer sa survie :)

    Tolriq.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s