Developpez.com - Rubrique Java

Le Club des Développeurs et IT Pro

Quelles bibliothèques Java utilisez-vous pour manipuler des contenus multimédias (musiques, vidéos, images, ...),

Partagez votre expérience

Le 2012-05-01 09:17:09, par Mickael Baron, Rédacteur
Nous oublions souvent que la plateforme Java permet également de développer des applications pour le bureau. De nombreuses boîtes à outils graphiques existent. Sans être exhaustif nous retrouvons Swing, SWT/JFace, JavaFX entre autres.

Toutefois, quand il est question de manipuler du contenu multimédia (lire un fichier mp3, lire de la vidéo, afficher des images, ...) ces boîtes à outils ne suffisent pas et le développeur doit ainsi se tourner vers des bibliothèques tierces. Le casse tête commence car sans vouloir dénigrer les quelques solutions existantes on peut dire que c'est quand même le grande vide.

Nous souhaiterions par l'intermédiaire de cette discussion que vous puissiez partager votre expérience. Pour un besoin donné (lire une vidéo, manipulation d'images) précisez la bibliothèque utilisée et donnez vos ressentis (pérennité, facilité d'utilisation, contraintes, ...).

Sans oublier que Developpez.com tente de lister les bibliothèques multimédia via sa plateforme de téléchargement. N'hésitez pas à la compléter si vous avez une bibliothèque qui n'est pas présente.

Nous attendons donc avec impatience vos avis ...
  Discussion forum
15 commentaires
  • daimoc
    Membre à l'essai
    Bonjour,
    pour ce qui est de la manipulation de fichier media en Java il existe XUGGLE (http://www.xuggle.com/xuggler) un wrapper Java pour ffmpeg.
    C'est relativement simple à utiliser et on a toute la puissance de ffmpeg à porté de Machine virtuelle
  • Mauwzer
    Candidat au Club
    J'ai déjà essayé de prendre en main xuggle et l'intégrer avec RED5 pour réaliser du livestream pour une webTV. La prise en main est assez simple dès qu'on a compris les principes de bases sur les flux et quelques spécificités sur les différents codecs je trouve. Le reste consiste à utiliser les outils qu'il propose pour faire les manipulations dont on a besoin. D'ailleurs j'aimerais que la communauté d'utilisateur s'agrandisse pour donner à cet outil plus de poids.
  • Mickael Baron
    Rédacteur
    Bonjour à tous,

    Je constate qu'il y a de très bons projets et Xuggle est pas mal utilisé.

    C'est dommage que Developpez.com ne fournisse pas d'article à ce sujet. Je suis certains que ça pourrait plaire à pas mal d'utilisateur.

    Des personnes motivées ?

    Mickael
  • Mickael Baron
    Rédacteur
    Bonsoir,

    Comme j'ai quelques idées sur ma question, je vous propose mon expérience essentiellement pour afficher de la vidéo
    En fait, je manipule pas mal la plateforme Eclipse et il se trouve que le composant SWT.Browser permet de faire un pont intéressant entre le client lourd et le client du Web. Par conséquent, il devient facile d'intégrer n'importe quel type de vidéo à partir du moment que le navigateur s'est l'afficher (flash, divx). La seule limitation vient du moteur de rendu utilisé. SWT.Browser ne gère pas n'importe quelle version des navigateurs. Dans le cas de firefox, il se limite à 3.7

    J'ai eu une autre expérience également, il y a cela un peu plus de 4 ans, concernant l'utilisation de l'API QuickTime pour Java. Il faudrait voir maintenant si c'est toujours d'actualité.

    Mickael
  • nu_tango
    Membre averti
    Hello,

    J'ai déjà utilisé la JMF, mais j'avais un peu été rebuté à l'époque par le manque de formats supportés (pas d'ogg, pas de mkv, etc.) et dès qu'on veut faire des trucs un peu plus pointus et/ou exotiques, il vaut mieux passer son chemin et trouver une alternative plus moderne.

    XUGGLE m'a l'air très intéressant et prometteur.
  • Traroth2
    Membre émérite
    Pour lire les fichiers Ogg Vorbis, il y a JOrbis, un decodeur pure Java.

    http://www.jcraft.com/jorbis/

    Pour Theora, il y a Cortado, malheureusement packagé sous forme d'applet :

    http://www.theora.org/cortado/

    Il doit être possible d'inclure le jar à un autre projet et d'appeler les classes du package com.fluendo.jheora. Par contre, niveau doc, c'est une catastrophe. En parcourant vite fait les sources, il n'y a pas la moindre javadoc.

    Dommage que ça n'existe pas pour les formats audio/vidéo les plus courants. Enfin, à ma connaissance...
  • la.lune
    Membre chevronné
    Juste le temps de rédiger un peu sur la capacité de JavaFX pour la gestion des contenus multimédia, je poste cette vidéo, le lien vers l’article et le fichier.zip d'une application purement écris en JavaFX 2.0; c'est un lecteur audio avec l'equaliseur et des contenu audio en JavaFX publié par Jasper Potts depuis janvier dernier dans leur site FXExperience.com . le lecteur lit les fichiers m3u, mp3 et il est équipé d'un balancer.


    Pour le lire l'article entier et télécharger le projet netbeans ici
  • lvr
    Membre extrêmement actif
    Envoyé par la.lune
    . le lecteur lit les fichiers m3u, mp3 et il est équipé d'un balancer.
    Avec quelle librairie ?
  • lvr
    Membre extrêmement actif
    J'utilise la libraire Java Sound, avec Jorbis (et d'autres dont je n'ai plus le nom en mémoire).

    Le principal problème de cette librairie est le manque de format supporté (mp3 mal supporté, même les wav sont pas tous supportés: 24bits/96kHZ, ...).

    Quant à la facilité d'utilisation, elle est honnête, une fois rentré dans le principe. Je donnerait un 6/10 :

    - Pour jouer le fichier que pour en lire les propriétés, c'est honnête,
    - Il manque quelques propriétés comme la durée d'un fichier. Il faut faire un savant calcul.
    - Il y a plusieurs niveaux de listeners pour suivre l'évolution du "jouage"
    - Par contre pour contrôler la tête de lecture (surtout des rewind, ...): le lecture est one-way !
  • co2gaz
    Membre du Club
    +1 Xuggler est vraiment pas mal, il ya aussi jvlc. Aussi javacv pour faire des manipulations plus terre à terre.