Journal : MediaInfo 0.7.4.0 sous Linux

Posté par Zenitram (page perso, ) le 24 novembre 2006
0
Je viens de porter mon logiciel MediaInfo sous Linux, suite à de nombreuses solicitations ;-).

Mais qu'est-ce que MediaInfo? MediaInfo permet de connaitre toutes les informations possibles et imaginables (durée, nombre de pistes, taille de chaque piste, les tags, la fréquence, le nombre de cannaux, la langue, le débit, les chapitres, le codec, les parametres du codec comme les B-frames pour le MPEG-4 Video...) sur un fichier multi-média, du bete AVI (mais parfois complexe, avec des metadonnées, des pistes texte etc...) au plus rare Matroska, en passant par MPG, VOB, IFO, M4V, MOV, QT, TP, TS, OGG, OGM, MP3, et j'en passe.

Celui-ci n'était précédement disponible que sous Windows, je me fend d'un petit essai sous Linux (i386 uniquement pour le moment, mais le code est voulu pour etre portable sur d'autres architectures et d'autres OS) en ligne de commande uniquement (la version Windows ayant un GUI qui va bien et un DLL pour les les applis tierce, je compte bien faire la meme chose sous Linux)

Maintenant, j'ai besoin de testeurs ;-), et ca se passe ici :
http://sourceforge.net/project/showfiles.php?group_id=86862&(...)

Et la page principale du projet ici :
http://mediainfo.sourceforge.net
Le tout est évidement sous GPL (LGPL pour la bibliotheque)

Petit avertissement : ceci étant mes premiers pas coté compilation sous Linux, tout n'est pas parfait, le source est pour le moment uniquement sous le CVS de sourceforge (et en C++) mais je vais bientot fournir les scripts de compilation (c'est un peu complexe, il y a quelques dépendances). Je suis preneur de toute aide sur le sujet (genre par exemple, comment récupérer la ligne de commande en Unicode (car j'ai bien wcout pour afficher, mais impossible de créer un executable avec int main (wchar_t**...) comme je fais sous Windows, si il y a des pros de l'unicode dans le coin... du coup, les noms de fichiers avec accents ne passent pas pour le moment.)

Voila, voila, bon test :)

> Lire le journal (33 commentaires, moyenne: 2,5).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Compilation sous Linux

Posté par Victor STINNER (page perso, ) le 24/11/2006 à 13:45. (lien). Évalué à 6.

Les sources :
http://downloads.sourceforge.net/mediainfo/MediaInfo_0.7.4.0(...)
http://downloads.sourceforge.net/mediainfo/MediaInfoLib_0.7.(...)

/!\ ATTENTION : L'archive ne crée pas de sous-dossier /!\

Le genre de saloperie qui me pourri mon $HOME >:-( À corriger rapidement donc.

Le binaire Linux ne fonctionne pas chez moi : il a besoin de la glibc 2.4 et j'ai la 2.3.6 (Ubuntu Dapper).

Je vous tiens au courant pour la compilation...

Haypo

  • [^]Re: Compilation sous Linux

    Posté par Thomas Douillard () le 24/11/2006 à 14:13. (lien). Évalué à 3.

    t'as pas une option de 7zip en ligne de commande pour faire l'équivalent d'un

    "tar -tf archive | xargs rm " ? (traduction : lister tous les fichier du répertoire, appliquer rm sur chaque ligne du listing)

  • [^]Re: Compilation sous Linux

    Posté par Zenitram (page perso, ) le 24/11/2006 à 14:18. (lien). Évalué à 5.

    attend un peu, le CVS n'est pas propre pour Linux, j'y vais...
    Faut compiler wxwidgets et d'autres, je suis en train de préparer un script tout fait.
    Si tu insistes, le seul makefile valide pour le moment est sous MediaInfo/Projet/GCC/CLI_WIthoutLib/.
    (je sens que j'ai voulu en faire la pub trop vite...)

hachoir

Posté par Pierre Maziere () le 24/11/2006 à 13:50. (lien). Évalué à 3.

Haypo sera surement ravi d'integrer les formats que tu decodes et pour lesquels il n'a pas encore d'info dans son outil 'hachoir' ecrit en python.

Pour ton souci d'unicode, pourquoi ne pas recuperer la chaine en multibytes [main (char**...)] pour ensuite l'interpreter en fonction de l'encodage (UTF-8, UTF-16 ou UTF-32) ?

  • [^]Re: hachoir

    Posté par Zenitram (page perso, ) le 24/11/2006 à 14:12. (lien). Évalué à 1.

    J'ai rapidement sorti une version avec les char**, car je ne l'avais pas sous Windows (troll : Windows etant moderne, il autorise Unicode directement, plus besoin de s'emmerder avec les locales, il le fait tout seul /troll), et j'ai ensuite utilisé wxConvCurrent (de WxWidgets) pour convertir en Unicode, mais il n'a pas l'air d'aimer... Vais creuser...

  • [^]Re: hachoir

    Posté par Zenitram (page perso, ) le 24/11/2006 à 15:56. (lien). Évalué à 2.

    Haypo sera surement ravi d'integrer les formats que tu decodes et pour lesquels il n'a pas encore d'info dans son outil 'hachoir' ecrit en python.

    Oui, j'ai vu que Hachoir m'avait un peu volé la vedette sur le parsing de fichier ;-).
    Il a l'air d'etre plus en avance que moi sur certains formats (FLV...), donc une discussion/echange entre MeEdiaInfo et Hachoir peut etre interessant.

    Je compte bien prendre contact avec l'équipe de Hachoir une fois que j'aurai corrigé les bugs sur les fichiers qu'on m'envoie... :(

    • [^]Re: hachoir

      Posté par Victor STINNER (page perso, ) le 24/11/2006 à 16:19. (lien). Évalué à 4.

      L'équipe Hachoir est constituée de 2 personnes :-) Je suis seul à bosser sur les parseurs et les méta-données. Pour me contacter :
      http://www.haypocalc.com/wiki/Victor_Stinner
      (je t'ai même envoyé un email)

      Faut pas se voir en concurrents, y'a moyen qu'on bosse ensemble. MediaInfo a des formats que Hachoir ne sait pas encore parser (ou mal) : Real Audio/Video, MPEG-4, trucs Apple, etc.

      L'idéal serait que tu puisses utilise Hachoir comme extracteur :-)

      D'ailleurs, j'aimerai bien définir un format générique pour écrire des parseurs de fichier, mais ceci me semble très complexe car il faudrait permettre un export en C, Python, Hachoir, et autres. Bon, c'est juste une idée.

      Haypo

C'est un clic-droit->propriétés amélioré, quoi...

Posté par José JORGE (Jabber id, page perso, ) le 24/11/2006 à 13:54. (lien). Évalué à 4.

J'avais cru que c'était un indexeur de médias, genre GTKatalog, mais en fait c'est juste un outil qui permet d'en savoir un peu plus qu'en demandant les propriétés d'un fichier sous Konqueror, puis "Méta-informations".

C'est donc peut-être beaucoup moins utile sous Linux que sous Windows, où le gestionnaire de fichiers n'est pas extensible ;-)

Je ne dénigre pas, mais en fait ce serait à ajouter à cet endroit-là plutôt que tout autre : un bouton GeeK en quelque sorte?

  • [^]Re: C'est un clic-droit->propriétés amélioré, quoi...

    Posté par Thomas Douillard () le 24/11/2006 à 14:10. (lien). Évalué à 2.


    où le gestionnaire de fichiers n'est pas extensible

    Il y a des plugins pour explorer si c'est ce que tu entends par "extensible", le truc qui lui permet de gérer svn ou cvs par exemple (tortoisecvs/svn ?) doit être un plugin, non ?

  • [^]Re: C'est un clic-droit->propriétés amélioré, quoi...

    Posté par Zenitram (page perso, ) le 24/11/2006 à 14:16. (lien). Évalué à 3.

    Pour ton information, Windows est très largement extensible (colonnes supplémentaires, tooltip au passage de la souris sur le fichier etc...), ce que j'utilise completement pour la version Windows (MediaInfo est intégré par le biais de la DLL dans l'explorateur de fichier).

    L'intégration dans un GUI Linux est donc parfaitement envisageable, si vous avez les compétances pour le faire, faites-moi signe!!!
    (perso, n'ayant pas du tout les compétnaces, je ne pourrai le faire)

    • [^]Re: C'est un clic-droit->propriétés amélioré, quoi...

      Posté par Gaetan_63 (page perso, ) le 24/11/2006 à 14:42. (lien). Évalué à 2.

      étrange, tout d'un coup je vois facilement des exemples d'intégration dans l'explorateur (winzip, winrar, 7z, notepad++, winmerge,...) dans l'explorateur mais... aucun exemple d'extension de Nautilus (oui c'est "possible" mais pour trouver des scripts intéressants mieux vaut se brosser)....

      • [^]Re: C'est un clic-droit->propriétés amélioré, quoi...

        Posté par CrEv (page perso, ) le 24/11/2006 à 14:57. (lien). Évalué à 2.

        pour nautilus je ne sais pas mais pour konqueror il y a (par exemple) kim (http://bouveyron.free.fr/kim/index.html )

        mais bon, c'est ça de tout virer à coup de hache dans gnome ! ;-)
        même pas un exemple de petit plugin tout con :-p

        • [^]Re: C'est un clic-droit->propriétés amélioré, quoi...

          Posté par manatlan (Jabber id, page perso, ) le 24/11/2006 à 16:01. (lien). Évalué à 1.

          Pour défendre gnome ... En python il est très très simple d'ajouter des fonctionnalités dans le menu nautilus ... ainsi que dans tout nautilus d'ailleurs ...

          • [^]Re: C'est un clic-droit->propriétés amélioré, quoi...

            Posté par Zenitram (page perso, ) le 24/11/2006 à 16:03. (lien). Évalué à 2.

            Je t'embauche alors ;-)
            (il me faut aussi un binding Python d'ailleurs... Si vous savez faire ca :) )

            • [^]Re: C'est un clic-droit->propriétés amélioré, quoi...

              Posté par manatlan (Jabber id, page perso, ) le 25/11/2006 à 18:18. (lien). Évalué à 2.

              Je t'ai fait qqchose ... vite fait, c pas très beau, mais c une base (je le poste ici, ça peut peut être donner des idée à d'autres ;-) Faut le mettre dans ton dossier d'extension nautilus python normalement ça : /usr/lib/nautilus/extensions-1.0/python

              # -*- coding: utf-8 -*-
              
              import os
              import urllib
              
              import gtk
              import nautilus
              import gconf
              
              class OpenMediaExtension(nautilus.MenuProvider):
                  def __init__(self):
                      self.client = gconf.client_get_default()
              
                  def _run(self, file):
                      """ action a faire """
                      filename = urllib.unquote(file.get_uri()[7:])
                      prg = "/usr/local/bin/geany"
              
                      os.system('%(prg)s "%(filename)s"' % locals())
              
                  def menu_activate_cb(self, menu, file):
                      """ callback de l'entree du menu"""
                      self._run(file)
              
                  def get_file_items(self, window, files):
                      """ methode appelee juste avant d'afficher le menu contextuel """
                      if len(files) != 1:
                          # si plus d'un fichier on se casse
                          return
              
                      file = files[0]
                      if file.is_directory() or file.get_uri_scheme() != 'file':
                          # si c pas un fichier on se casse
                          return
              
                      # all is gut, on renvoi le menu entry
                      item = nautilus.MenuItem('NautilusPython::openmediainfo_file_item',
                                               'Open MediaInfo' ,
                                               'Open MediaInfo with %s' % file.get_name())
                      item.connect('activate', self.menu_activate_cb, file)
                      return item,
              
              
              dans le cas précis, t'aura une entrée "open mediainfo" dans ton menu quand t'as selectionné qu'un fichier ça ouvre le fichier dans geany (excellent editeur de texte ;-) Pour l'améliorer :
            • tester le mime type (video/*), y a une méthode de "file" pour ça je crois ...
            • lancer l'appli d'une plus belle façon
            • et qques tests suplémentaires ... voilà t'as tout mais si tu veux que je m'en occupe, no prob ...

[+] Vu que je peux pas psoter de journal

Posté par cremoa cremoa () le 24/11/2006 à 14:11. (lien). Évalué à -10.

je oste ça là:

Hier soir, un supporter parisien est mort Porte de Saint-Cloud, pour une "altércation" envers des supporters adverses.

Laissons aux journalistes les palabres pseudo-politiques... Nous avons plus important à faire.

Un jeune supporter du PSG est tout de même mort hier !!! Et un autre est encore à l'hôpital dans un état grave.

Nous vous demandons, vous tous qui vous sentez touchés et révoltés par ce qu'il s'est passé de vous rendre devant le siège du Parc des Princes, dans un but non violent à 18 heures.

Le but est de manifester calmement et en nombre, avec des banderoles pour se faire entendre et demander que justice soit faite. La mort de ce supporter est déjà en train de passer inaperçue....

FAISONS-NOUS ENTENDRE !!!!
Passez des coups de fil, des messages, même hors du monde du supporteurisme.

File

Posté par qdm () le 24/11/2006 à 15:58. (lien). Évalué à 2.

Ce ne serait pas plus efficace de tenter d'intégrer la bibliothèque à l'outil "file" ? Je ne connais pas le fonctionnement interne de "file", mais d'un point de vue fonctionnel, ça me semble l'outil idéal.

Revenir en haut de page