C'est selon ce principe qu'a donc été développée Enna, dont la première version stable (0.4.0) vient de sortir officiellement.
Enna repose, dans sa partie graphique du moins, sur les EFL (Enlightenment Foundation Libraries) et, pour sa partie multimédia, sur les projets libplayer (un framework audio/vidéo d'abstraction du lecteur multimédia, permettant d'interfacer indifféremment MPlayer, Xine, VLC ou GStreamer) et libvalhalla (une bibliothèque d'extraction de métadonnées permettant également la récupération de ressources externes, tels que pochettes, posters, paroles... ainsi que leurs sauvegardes au sein d'une base de données de type SQLite), tous deux développés par l'équipe GeeXboX. Enna gère de multiples formats d'affichage vidéo (Framebuffer, X11 ou OpenGL(ES)) et, via libplayer, prend en charge ces mêmes modes, mais également XVideo ou VDPAU, afin d'assurer un décodage vidéo matériel sur les cartes nVidia le gérant.
Encore jeune, l'application n'est pas sans rappeler le mastodonte qu'est XBMC (proposant évidemment de plus nombreuses fonctionnalités), mais reste cependant beaucoup plus léger.
Entièrement contrôlable par clavier, souris ou télécommande compatible LIRC, Enna permet aujourd'hui l'écoute de votre bibliothèque musicale, le visionnage de vos photos, la lecture vidéo, les informations météo, mais propose également un lecteur de libres/bandes-dessinées via les sites GoComics et OneManga.
Mais voyons plus en détail les entrailles de la bête :
Enlightenment Foundation Libraries (EFL)
Les EFL, késako ? Comme leur nom laisse l'entendre, il s'agit des bibliothèques à la base du projet Enlightenment E17 (celui qui, lui aussi, tarde à sortir).
Il s'agit donc d'un ensemble de bibliothèques permettant la composition d'affichage ainsi que le rendu via framebuffer, X11, OpenGL et autres (Evas), la gestion des boucles événementielles et entrées/sorties (Ecore), un moteur de thème et scripting (Edje), un ensemble de widgets (Elementary)...
Optimisée pour l'embarqué, ces bibliothèques sont écrites en C, rapides et efficaces. Certains se rappelleront l'annonce récente par Free de leur utilisation (via un Javascript mais qu'importe) au sein de la Freebox, comme moteur de leur module « jeux vidéos ».
libplayer
Petit rappel de l'historique...
La GeeXboX utilise depuis de nombreuses années MPlayer (les développeurs originaux étant également développeurs du projet MPlayer), via son menu OSD, à la fois comme lecteur multimédia mais comme menu ou interface graphique. Bien que très simple, cela était réellement contraignant et il était difficile d'améliorer l'interface.
L'idée était alors de différencier l'interface graphique du moteur de rendu vidéo. Avec le temps, MPlayer n'étant plus forcément le meilleur choix (tout dépend du contexte, de type de ressource à lire, les DVD, les flux réseaux...), il a paru judicieux de développer une interface permettant, via une API unique, de contrôler indifféremment plusieurs lecteurs, à savoir MPlayer, Xine, VLC ou encore GStreamer. C'est ainsi qu'est né le projet libplayer. Ce dernier permet donc d'utiliser indifféremment ces quatre lecteurs au sein d'une bibliothèques C, le tout parfaitement thread-safe.
Aujourd'hui, les wrappers vers MPlayer et Xine sont très bien pris en charge, les deux autres un peu moins. Certains le sont par manque de temps, d'autres par problèmes techniques plus gênants (ex : l'implémentation VDPAU de nVidia qui utilise X11 au lieu de XCB et n'est pas thread-safe, tout comme la libVLC qui utilise encore beaucoup les variables globales...) mais la base est là.
libvalhalla
Encore une fois développée de zéro par l'équipe GeeXboX, cette bibliothèques fait office de scanner/parseur de métadonnées au sein de vos contenus multimédias (musiques, vidéos, photos), de manière à récupérer, pour chacun de vos fichiers, un maximum d'informations (telles que les paroles de chansons, les jaquettes d'un DVD, pochettes d'un CD audio, la résolution, le type de codec, j'en passe et des meilleures...) et à les stocker au sein d'une base de donnée de type SQLite. Ces informations seront ensuite réutilisées par Enna de manière à fournir un affichage des plus détaillé lors du parcours de votre bibliothèque multimédia.
libvalhalla se veut une bibliothèque extrêmement rapide, parallélisable (et donc thread-safe) et qui peut tourner aussi bien en tâche de fond pour scanner l'ensemble d'un répertoire, qu'à la demande, pour forcer la récupération instantanée d'informations précises. Elle se veut également très modulaire, permettant l'utilisation (ou non) de nombreux modules, pour la récupération de données en ligne ou hors ligne. Parmi ces derniers, on retrouve aujourd'hui : Allocine.fr, Amazon.com, ImDB.com, Last.fm, LyricWiki.com, The TVDB.com, TheMovieDB.org et TVRage.com pour les sources de contenus en ligne et EXIF, FFMpeg, libnfo et les fichiers locaux pour la recherche hors-ligne.
Bien que développées par le projet GeeXboX et pour s'interfacer avec Enna, il va sans dire que ces 2 bibliothèques ont été pensées de manières autonomes et réutilisables.
En d'autres termes, il est bien évidemment possible de les utiliser à tout autre fin ou au sein d'autres projets (combien ont déjà essayé de réimplémenter tant bien que mal un contrôle de MPlayer via son fantastique "slave-mode" en communication par FIFO ?).
Enna et ces bibliothèques associées sont dès à présent disponibles pour toute distribution Linux un tant soit peu récente. Les utilisateurs d'Ubuntu 9.10 pourront même s'y essayer très rapidement via apt-get, le tout ayant été soigneusement packagé.
À noter, bien évidemment, qu'Enna sera intégrée dans le LiveCD GeeXboX, dont la première version 2.0-Alpha1 devrait être disponible dans le courant du mois de Janvier.
Aller plus loin
- Enna (53 clics)
- Captures d'écrans (63 clics)
- libplayer (9 clics)
- libvalhalla (6 clics)
- GeeXboX (184 clics)
# c'est quoi l'intêret ...
Posté par Flavien . Évalué à -10.
http://www.xbmc.fr/
je me trompe ? ca peut arriver ...
[^] # Re: c'est quoi l'intêret ...
Posté par Epy . Évalué à 6.
Félicitations à toute l'équipe, c'est très joli et ça fait envie !
[^] # Le choix
Posté par SlowBrain (site web personnel) . Évalué à 6.
- Gnome / KDE / XFCE / …
- Linux / BSD / …
- Vi / Emac / Nano / …
- FireFox / IceWeasel / Konqueror / Epiphany / …
- …
- Enna / XBMC / Freevo / MythTV / …
Une petites liste de troll en tube.
Certains dirons que l'on divise nos forces, d'autres qu'on veux simplement permettre le choix et ne pas imposer une solution par rapport a une autre.
Ce projet me semble louable et je le suivrais pour ma part avec le plus vif intérêt, la qualité de la geexbox projet d'origine de Enna étant remarquable, notamment en terme de légèreté, souplesse et fonctionnalité.
[^] # Re: c'est quoi l'intêret ...
Posté par Steven Le Roux . Évalué à 5.
Geexbox sera bien plus adapté aux "petits" média center tout en fournissant une finition impeccable grâce aux EFL.
[^] # Re: c'est quoi l'intêret ...
Posté par NickNolte . Évalué à -4.
Geexbox existait bien avant xbmc... donc quel intérêt pour xbmc ?
Sauf qu'XBMC a mis une branlée monstrueuse à Geexbox! Et en terme de fonctionnalité que d'ergonomie! Et le theme Menheim III est toujours aussi classieux même après 5ans!
Or, je vois que Geexbox est encore laid dont l'interface est indigeante et amateur.
[^] # Re: c'est quoi l'intêret ...
Posté par Flavien . Évalué à 0.
[^] # Re: c'est quoi l'intêret ...
Posté par papap . Évalué à 1.
[^] # Re: c'est quoi l'intêret ...
Posté par Larry Cow . Évalué à 3.
[^] # Re: c'est quoi l'intêret ...
Posté par Benjamin Zores (site web personnel) . Évalué à 4.
GeeXboX constitue la distribution, Enna l'applicatif, que tu peux utiliser sur ta distrib préférée sans rebooter belle-maman :-)
C'est justement parce que tout le monde ne souhaite pas une distribution dédiée que nous avons conçu Enna pour être "générique".
[^] # Re: c'est quoi l'intêret ...
Posté par Zenitram (site web personnel) . Évalué à 0.
générique?
Corrige moi si je me trompe, mais Enna semble basé sur EFL, lui-même basé sur X11, qui existe que sous *nix, donc exit 90% des utilisateurs potentiels.
Alors à moins que Enna ai des "connexions" possibles avec d'autres back-end, il n'est pas générique, il permet sans doute de ne plus rebooter un Linux, mais pour d'autres OS...
Je ne connais pas GeeXboX, je ne me permettrai pas de critiquer le projet dans son ensemble, je me permet juste de critiquer cette généricité annoncée qui est assez limitée... Ou alors j'ai loupé un truc.
[^] # Re: c'est quoi l'intêret ...
Posté par Benjamin Zores (site web personnel) . Évalué à 3.
Cela dit, les EFL disposent de multiple backends de sortie vidéo (via Evas) et d'I/O (via Ecore), les rendant disponible pour UNIX (framebuffer, X11), MacOSX et même Windows, ce qui élargit relativement le scope potentiel.
[^] # Re: c'est quoi l'intêret ...
Posté par Psychofox (Mastodon) . Évalué à 4.
Corrige moi si je me trompe, mais Enna semble basé sur EFL, lui-même basé sur X11, qui existe que sous *nix, donc exit 90% des utilisateurs potentiels.
Qu'est-ce que c'est que ce gros mensonge ?
Pour windows, il y'en a des pelletées, quelques exemples :
http://sourceforge.net/projects/xming/
http://connectivity.opentext.com/products/exceed-products.as(...)
http://www.microimages.com/mix/
http://www.starnet.com/products/xwin32/
De même, Tiltos fournit un serveur x11 pour haiku.
Tu veux quoi de plus, qu'on te cite des serveur x11 pour OS/2. Ben il y'en as. Pour Amiga OS ? idem.
[^] # Re: c'est quoi l'intêret ...
Posté par cedric . Évalué à 1.
Les EFL, c'est portable. C'est un toolkit au meme titre que GTK ou QT qui te fournit un rendu graphique portable et optimise. Les EFL sont entierement modulaire, et tu as de multiple backend, X11, FrameBuffer, DirectFB, SDL, OpenGL, Cocoa, GDI, DirectX, ... Et j'ai surement du en oublier.
C'est meconnaitre les EFL que de croire que c'est d'elle que viendra le probleme de portabilite :-)
[^] # Re: c'est quoi l'intêret ...
Posté par Zenitram (site web personnel) . Évalué à 0.
Disons que quand je regarde les téléchargement disponibles :
http://enlightenment.org/p.php?p=download&l=en
C'est Linux, Linux, et encore Linux.
La portabilité réelle, et non théorique, je ne la vois pas.
Je veux bien te croire quand tu dis qu'EFL a des multiples backends, ça cause de DirectX sur le site d'EFL, mais j'ai du mal à voir la réalité... C'est comme dire que X11 marche sous Mac ou Windows, la théorie dit oui, en pratique c'est non déployable (et non déployé).
Maintenant, ben... J'attend une version d'Enna pour Windows et Mac pour prouver que la généricité de la chose est réelle, en pratique!
[^] # Re: c'est quoi l'intêret ...
Posté par Psychofox (Mastodon) . Évalué à 3.
ça veut dire quoi ça, non déployable et non déployé ?
Comment se fait-il que dans toutes les grandes boites que tu peux rencontrer, un serveur x est fourni avec le desktop windows de base ?
[^] # Re: c'est quoi l'intêret ...
Posté par Zenitram (site web personnel) . Évalué à 1.
La, tu m'apprends une chose... Je n'ai jamais vu la chose. Si ça y est, je ne dis plus rien.
Ah si : que le grand public, lui, n'a pas cette brique logicielle à ma connaissance. C'est gênant pour Enna qui se veut grand public non?
J'attend toujours une version Windows d'Enna pour voir de mes propre yeux cette généricité, je fais surtout que constater que c'est pour le moment Linux-only.
[^] # Re: c'est quoi l'intêret ...
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: c'est quoi l'intêret ...
Posté par Benjamin Zores (site web personnel) . Évalué à 2.
Aucun ne s'intéresse à Windows et seul l'intérêt d'un développeur pourrait amener une telle version.
[^] # Re: c'est quoi l'intêret ...
Posté par Captainigloo . Évalué à 3.
http://packages.enlightenment.org/windows/
Pour le port MAC OS, j'ai une version fonctionnelle, mais pas assez stable pour en faire un installeur digne de ce nom.
Le port mac n'est pas tres complexe a mettre en oeuvre en passant par fink ou mac port, qui permette de récupérer tous les utilitaires necessaire a la compilation de Enna, des EFL et des libs GeeXboX.
La partie la plus bloquante a l'heure actuelle et l'engine Cocoa de ecore_evas qui n'est pas complet et qui crashe souvent.
Pour la partie affichage proprement dite, je travaille actuellement sur un engines Cocoa OpenGL, qui permettrait d'avoir de meilleures performances. le port Mac OS est donc en bonne voie !
Pour le port Windows, c'est réalisable mais rien n'a été fait, les EFL sont très bien supportées sous windows, et je tiens a remercier et féliciter Vincent pour son travail ENORME la dessus. Les personnes qui souhaitent porter un code unix vers windows devraient regarder Evil (j'adore ce nom pour une lib de compatibilité windows).
Si tu as une machine windows sous la main, essaye l'installeur des EFL c'est assez bluffant. Il y a même un compatibilité Windows CE !!
Pour en revenir à Enna, le principal problème est l'utilisation intensive des threads et de la librairie pthread dans valhalla et libplayer. Bien sur une version de pthread existe pour windows, mais ca demande encore un peu de travail pour que la compilation fonctionne sur cet OS.
Sachant que mplayer existe pour windows, il n'y devrait pas y avoir de "gros" probléme et bien entendu nous sommes ouvert a tout patch permettant d'utiliser ces libs sous d'autre OS que GNU/Linux. Et si quelqu'un veut écrire un backend DirectShow pour libplayer ou améliorer le support de VLC il sera le bienvenu. Quand a Xine je ne connais pas sa compatibilité avec Windows.
[^] # Re: c'est quoi l'intêret ...
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 2.
Reste à avoir l'envie de le faire. :)
[^] # Re: c'est quoi l'intêret ...
Posté par Zenitram (site web personnel) . Évalué à 0.
Bah forcement, si vous le cachez... J'avais cliqué sur "Download" du site web, pour tomber sur http://enlightenment.org/p.php?p=download&l=en
Ensuite "Linux and others" fait vachement penser à "bon, OK, tous les trucs qui ressemblent à Linux genre BSD, mais rien de plus", surtout que quand on clique dessus on voit une fenêtre et une pomme certes, mais j'avais complètement zappé que ça signifiait les OS qui vont avec, car on a le logo "classique" des Linux et BSD, mais pas les autres... Bref, au niveau com', peut mieux faire (je me permet de dire ça en sachant que ma com' à moi est pourrie :) ).
Si tu as une machine windows sous la main, essaye l'installeur des EFL c'est assez bluffant.
Vu que c'est ma machine de travail (tout le monde n'a pas Linux chez lui même chez soit ;-) ), ça va pour ça.
La démo a encore quelques bugs (crashes au lancement de certains modules, fenêtre réduite sans rien de dans), mais j'ai pu voir quelques "widgets" sympas.
[^] # Re: c'est quoi l'intêret ...
Posté par Psychofox (Mastodon) . Évalué à 6.
Alors bon, xbmc est bien pour lire certains contenus, mais pour d'autre choses, il se prends une branlée monstrueuse pour reprendre tes termes.
[^] # Re: c'est quoi l'intêret ...
Posté par Benjamin Zores (site web personnel) . Évalué à 2.
Cela nécessite cependant une xine-lib 1.2 qui elle aussi, tarde à sortir :p
[^] # Re: c'est quoi l'intêret ...
Posté par monde_de_merde . Évalué à 2.
Les captures d'écran du site de Geexbox sont des anciennes. Enfin c'est ce que j'ai compris...
Et puis bon les goûts et les couleurs...
[^] # Re: c'est quoi l'intêret ...
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 2.
[^] # Re: c'est quoi l'intêret ...
Posté par NickNolte . Évalué à -2.
Bon d'accord, le rendu des polices est vraiment pas mal.
[^] # Re: c'est quoi l'intêret ...
Posté par Benjamin Zores (site web personnel) . Évalué à 5.
[^] # Re: c'est quoi l'intêret ...
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 2.
[^] # Re: c'est quoi l'intêret ...
Posté par NickNolte . Évalué à 0.
[^] # Re: c'est quoi l'intêret ...
Posté par Maxime (site web personnel) . Évalué à 6.
[^] # Re: c'est quoi l'intêret ...
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 10.
Le fait que se sois du logiciel libre laisse la porte ouverte à tout le monde. Et je n'ai jamais vu dans ces projets la moindre concurrence. GeeXboX a un intérêt bien particulier. C'est avant tout une distribution fait maison. Le toolchain est facile à comprendre et l'ensemble fonctionne bien. Ce projet permet de comprendre comment se construit un système basé sur Linux sans faire des efforts monstrueux. Et puis à cette époque j'avais besoin d'un petit media center pour le salon. C'était une bonne occasion de s'y intéresser. Le design et l'ergonomie j'en avais rien a faire tant que ça lisait les fichiers que je voulais
Je trouve décevant le genre de réponse 'quel intérêt?'. Tous les projets en ont, au moins pour les gens qui y participent.
Après pour les personnes extérieurs, et bien c'est très simple, si ça les intéressent alors tant mieux.. sinon tant pis. Honnêtement s'il y a que 10 personnes qui utilisent Enna dans le monde, ou alors 10000 ça ne me change pas la vie. Je ne travail pas pour ces gens. L'avantage d'en avoir 10000 c'est d'avoir plus de rapports de bugs (pas toujours de très bonnes qualités mais c'est mieux que rien), et surtout d'avoir des gens qui proposent des patchs (et là c'est déjà beaucoup plus limité).
Maintenant XBMC.. je l'ai testé et c'est très sympa.. même qu'on a repiqué des idées dans Enna. Au niveau sources il ne m'intéresse pas du tout. En plus la sortie est uniquement OpenGL a priori. Maintenant pourquoi ne pas bosser sur XBMC??
La division des efforts je n'y crois pas.. Pourquoi travailler sur un projet où l'on en a pas envie? A moins d'être payé... ça serait discutable..
Autre exemple.. Freevo.. c'est super, j'aime bien .. d'ailleurs un temps on a voulu utiliser Freevo2 comme GUI pour GeeXboX 2. Mais on a laissé tombé pour différentes raisons. Personnellement j'ai aucune envie de faire du Python. Alors quel intérêt de travailler avec l'équipe de Freevo surtout si on préfère le C? Et il y a d'autres raisons aussi..
Bref.. chacun à ses propres intérêts dans chaque projet. A mon avis se sont particulièrement les utilisateurs qui voient de la concurrence entre les projets. Ou alors ceux qui ont des intérêts financiers..
Bien sûr, tout ce que je dis n'engage que moi.. je ne connais pas vraiment les intérêts des autres membres du team.
[^] # Re: c'est quoi l'intêret ...
Posté par NickNolte . Évalué à -8.
[^] # Re: c'est quoi l'intêret ...
Posté par Benjamin Zores (site web personnel) . Évalué à 5.
La critique non constructive est évidemment, comme toujours, très facile ...
[^] # Re: c'est quoi l'intêret ...
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 2.
Quoi qu'il en soit, si mon code est aussi laid que Geexbox, je ne dois pas risquer grand chose. :)
[^] # Re: c'est quoi l'intêret ...
Posté par Olivier (site web personnel) . Évalué à 4.
GeeXbox permet de visionner un flux de type "DivX" sur une machine à base de PII-450 / 64Mo de mémoire et une carte vidéo de type TNT2 / GeForce 2. Si on l'installe sur un disque dur, il faut environ 20Mo d'espace de stockage. Et sur cette configuration, cela boot en environ 30s.
C'est l'idéal si on veut recycler du vieux materiel (datant d'avant 2000).
A coté de cela, XBMC demande au minimum une carte ayant des fonction 3D (OpenGL), un PIV, et sans doute un paquet de RAM : http://xbmc.org/wiki/?title=Supported_hardware ...
Certes, on trouve actuellement des machines très peu chères qui peuvent supporter XBMC. Mais si on peut recycler du vieux matériel, c'est mieux pour la planète, non ?
# Très réactif
Posté par TuxGasy (site web personnel) . Évalué à 1.
Je vais le tester (dès que j'aurai un peu de temps) sur un très vieux pc sur lequel xbmc était inutilisable.
[^] # Re: Très réactif
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 1.
# petite faute dans un lien
Posté par Siddique Vally-Adam . Évalué à 1.
# Question sur une fonctionnalité bien précise
Posté par bibitte . Évalué à 5.
En gros d'avoir la barre de lécture sur un écran et le film sur un autre écran. Les deux écrans n'ayant pas forcement la même résolution.
Le but final etant d'avoir un ecran tactile pour le controle et un LCD de salon pour le display.
[^] # Re: Question sur une fonctionnalité bien précise
Posté par Mathieu Schroeter (site web personnel, Mastodon) . Évalué à 2.
Dit autrement, c'est pas possible dans l'état actuel.
# UPNP/DLNA support
Posté par Snoorky . Évalué à 1.
(Et pitié faites un truc simple à configurer.)
En tous cas, bonne continuation !
[^] # Re: UPNP/DLNA support
Posté par Benjamin Zores (site web personnel) . Évalué à 2.
Avec un peu de chances, il suffit de l'activer à la compilation des sources. Mais je ne le trouvais pas assez stable/testé pour l'intégrer dans cette première version.
Il s'agit cependant d'un client et non d'un serveur (je n'ai jamais compris pourquoi XBMC proposait un serveur cela dit ...), mais il marche très bien avec les différents serveurs que j'ai pu essayer (uShare, le mien :-p, minidlna du ReadyNAS de chez Netgear, Coherence ...).
[^] # Re: UPNP/DLNA support
Posté par Benjamin Zores (site web personnel) . Évalué à 3.
- UPnP A/V est une "norme" batarde, tellement souple qu'elle autorise les constructeurs à étendre les profils normalisés pour y ajouter les extensions propriétaires (ce qu'ils ne se cachent pas de faire, principalement Microsoft avec Windows Media Connect mais bon ...). Du coup, on en arrive à une norme "Universelle" (le U de UPnP) où les implémentations doivent supporter les extensions proprio à coup de hack ...
- DLNA se veut une pseudo normalisation/restriction de UPnP A/V pour combler ce problème mais le consortium qui l'a défini à sombré dans l'excès à un point qu'il en devient encore plus difficile d'utilisation, le tout étant beaucoup trop strict.
Tu trouveras davantage d'informations sur le pourquoi du comment sur mon blog ( http://gxben.wordpress.com/2008/08/24/why-do-i-hate-dlna-pro(...) ) si ca t'intéresse, sachant que j'ai, jadis, été sponsorisé pour écrire la lib d'implémentation de référence du protocole DLNA, de laquelle les serveurs open source du moment se sont à un moment ou à un autre, inspirés.
En gros:
- si l'UPnP A/V ne marche pas c'est parce qu'il est trop éloigné du standard
- si DLNA ne marche pas, c'est au contraire parce qu'il est trop proche du standard
Cruelle est la vie :p
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.