• [^] # Re: MediaInfoLib vs TagLib

    Posté par (site web personnel) . En réponse au journal MediaInfo cherche beta-testeurs. Évalué à 4.

    Je vais essayer de répondre à tout sans rien oublier.
    MediaInfo, le CLI, n'a que peu de dépendances : libmediainfo (normal) et libzen une bibliothèque à moi que j'utilise sur un autre projet donc on m'a conseillé d'en faire un .so à part. Si c'est juste ça qui te dérange, il existe un package "all in one" qui compile les 3 packages en une ligne de commande, sans dépendances autre que la libc et c++. Pas mal de monde utilise ce binaire "transportable partout".
    Ah si, libmediainfo utilise aussi libz, parce que bon pas la peine de réinventer la roue (des fichiers .mov ont des headers compressés), mais pareil : inclu dans le binaire "all in one".
    Reste le GUI, qui ajoute une dépendance sur libwsgtk, mais la je vois pas trop comment faire, linux n'a pas d'API graphique "de base" : soit Wx, soit Qt, soit GTK, mais il faut une dépendance.
    Après, si tu parles de construire à partir des sources, oui il y a plus de dépendances, car je fais d'autres choses : doxygen, dos2unix, pkg-config sont optionnels et m'aident à faciliter le port Unix. Mais encore une fois, si tu veux un gros trucs bien bourrin, le "all in one" est un tar.bz2 qui ne demande que gcc-c++ (si la libz n'est pas trouvée, elle est téléchargée et compilée) pour tourner. C'est rapide, juste un ./CLI_COmpile à lancer, sans te soucier des dépendances.

    libmediainfo n'a pas besoin de wxwidgets pour être construit (j'ai viré la dépendance sur wxbase car ça faisait un x10 sur la taille de la lib pour très peu de choses. Remplacé par libzen pour le multi-plate-forme à moindre coût. Surtout pour les petits ARM qui n'aiment pas du tout Wx...)

    Au niveau rapidité de traitement, TagLib est plus rapide car ne s'intéresse qu'aux tags, alors que MediaInfo parse plus d'octets pour détecter les données techniques. MediaInfo est très rapide pour ce qu'il fait, mais ne peut concurrencer TagLib qui fait "moins" (mais bien, ce n'est pas une critique, juste un objectif différent)
    De plus, TagLib gère l'écriture, MediaInfo pas (encore).
    Seul point avantageux (à moins que ça ai changé) : MediaInfo débusque des tags que TagLib ne trouve pas (un tag APE caché derrière un tag ID3, ou des tags ASF encapsulés dans un tag Id3v2 par exemple)

    Bref, TagLib est un "concurrent" de MediaInfo (tout comme Hachoir, souvent présenté ici), mais les logiciels n'ont pas le même objectif : le choix de ta lib va dépendre de si tu veux faire plus de choses qu'avec TagLib : non, TagLib sera ton choix (plus stable, plus rapide). Oui (video, données techniques), prend (Lib)MediaInfo qui te sort plus d'infos.