IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Lecteur vidéo Phonon : comment inclure la libvlc pour le décodage multiformat ?

  1. #1
    Invité
    Invité(e)
    Par défaut Lecteur vidéo Phonon : comment inclure la libvlc pour le décodage multiformat ?
    Bonjour tout le monde,
    J'ai pas mal avancé mon projet de lecteur vidéo Phonon. Le souci est qu'il utilise ffdshow et qu'il rame : il ne semble pas super compatible avec (même après avoir bidouillé dans les options de ffdshow).
    J'aurais voulu intégrer la librairie libvlc adin qu'il puisse lire de nombreux formats.

    Malheureusement si poste ici c'est que je n'ai pas réussi par mes propres moyens. J'ai tenté de copier le fichier libvlc dans le dossier du compilateur et dans le répertoire système de Windows mais Qt Creator ne le reconnaît pas en tant que librairie comme Phonon.

    Comment procéder ? Merci pour la réponse. Bonne journée à vous. Cordialement, Gizmo.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Phonon utilise les codecs systèmes, ceux que Windows Media Player utilise par exemple. Donc c'est pas forcément ffdshow.

    J'ai intégré VLC dans un projet récemment, je vais t'expliquer. Déjà voici les liens dont je me suis servi :
    http://www.jbkempf.com/blog/post/200...Qt-application
    http://wiki.videolan.org/LibVLC_SampleCode_Qt
    http://download.videolan.org/pub/vid...c/0.9.9/win32/
    http://wiki.videolan.org/VLC-0-9-x_command-line_help

    Le tutoriel est fait pour la version 0.9 (si tu trouves plus récent tant mieux je suppose) c'est pour ça que j'ai utilisé cette version. La méthode ne fonctionne pas du tout pour la version 1.x.x .

    Donc déjà télécharge et décompresse quelque part vlc-0.9.9-win32.7z (3e lien). Il y a un dossier SDK qui contient ce dont on a besoin.

    Configuration du projet :
    - Dans le projet, au niveau du .pro, j'ai mis le dossier appelé vlc (qu'on trouve dans sdk/include/) qui contient tous les headers de VLC (vlc.h et compagnie, + un dossier plugins avec d'autres headers).
    - Dans le .pro, rajouter LIBS += -Llib -lvlc. Rajoute aussi tous les headers tant qu'à faire.

    Développement :
    Tu peux partir du code vlc_on_qt du deuxième lien, et rajouter les méthodes dont tu as besoin. Donc dans ton projet, tu rajoutes vlc_on_qt.h et .cpp, qui contient une classe Player qui hérite de QWidget. Par exemple j'ai rajouté une méthode "stop" :
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void Player::stop()
    {
        if(_isPlaying) {
            libvlc_media_player_stop (_mp, &_vlcexcep );
            raise(&_vlcexcep);
        }
    }
    Le dernier lien fourni est important pour paramétrer VLC, dans le constructeur de Player (vlc_args[]).

    Exécution :
    A côté de ton exécutable, tu dois mettre libvlc.dll, libvlccore.dll, et le dossier "plugins" qui contient une tonne de dll.

    Je pense que tu as ce qu'il faut maintenant, n'hésite pas si tu as des questions.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Merci beaucoup pour ton post je le regardai dès que j'aurai un peu de temps.
    Tu me parles de modifier les méthodes : j'ai regardé un peu la fonction hasvideo() : dedans il y a je crois les extensions de fichiers vidéos : avi, mpg... Si j'en rajoute des nouvelles dans la fonction ça peut le faire aussi ?

    En tout cas merci pour les liens je regarderai tout cela attentivement.

    Bonne soirée. Cordialement, Gizmo.

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Moi j'ai juste parlé de rajouter des méthodes, la seule (je crois) que j'ai modifié c'était le constructeur pour les arguments de lancement. Je n'ai pas trouvé où est ta fonction hasvideo() ? (j'ai pourtant cherché dans les headers vlc et dans vlc_on_qt). Pour ça tu peux tester avec VLC, si tu arrives à lancer une vidéo malgré une extension tordue/inconnue alors ça devrait marcher.

    Fais attention à la licence VLC aussi, qui sous certaines conditions peut "contaminer" ton programme. Je ne me rappelle plus trop et je ne vais pas me replonger dedans (enfin ça doit pas être long), en tout cas tel que je l'ai utilisé il n'y a pas de souci.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,
    En tout cas merci pour ta solution. Je te souhaite un bon week-end et aussi à tous.
    Cordialement, Gizmo.

    PS : et pour la fonction hasvideo() : il suffit de l'appeler dans le programme et de lui mettre un paramètre : un int par exemple.
    La fonction étant sans paramètre, le compilo va renvoyer une erreur : quand tu vas cliquer dessus (avec Qt Creator) ça va t'emmener dans un fichier .h et tu pourras accéder à l'implémentation de la fonction je crois.
    Dernière modification par Invité ; 09/07/2011 à 11h24.

  6. #6
    Invité
    Invité(e)
    Par défaut
    En tout cas c'est sympa de pouvoir partager des trucs. Et ce même si je n'ai qu'un toupiti... niveau en informatique (Hey what did you expect ?!)
    Un excellent week-end à tous. Cordialement, Gizmo.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Hello !

    Il est 6h12 du matin, je suis à la tâche depuis minuit... j'ai tout essayé ! J'ai perdu des plombes à essayer de compiler VLC pour chopper la libvlc mais rien à faire !

    Mais c'est finalement grâce à Troudhyl que j'ai enfin pu utiliser cette satané librairie !

    Et du coup, j'ai trouvé comment faire pareil avec la version 1.1.10 !

    Voici comment :
    • Aller dans la liste des versions de VLC : http://download.videolan.org/pub/videolan/vlc/
    • Choisir la version la plus récente
    • Aller dans le dossier win32
    • Télécharger une des distrib (autre que la .exe)
    • Se faire plaisir en découvrant le dossier sdk


    J'ai perdu une nuit... mais j'espère que ça aidera des gens, en particulier toi gizmo27

  8. #8
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Tu as recréé entièrement ta propre classe d'interface Qt/VLC ? Ou tu es parti du code vlc_on_qt ? J'avais pas beaucoup de temps sur ce projet alors je me suis pas trop penché sur VLC 1.x.x, vu qu'après essai il m'a semblé trop différent et que les explications étaient pour la 0.9.x .

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Hello !

    Non je n'ai pas encore touché à Qt, en fait je pensais que le problème était qu'il n'arrivait comme moi pas à trouver la lib..

    Je pars 2 semaines en vacances, je vais essayer et je vous dirait à mon retour si j'ai trouvé (y'a le temps ^^)

    A+

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/09/2011, 19h55
  2. Faire un lecteur vidéo pour la tnt
    Par publicStaticVoidMain dans le forum La taverne du Club : Humour et divers
    Réponses: 13
    Dernier message: 26/01/2009, 11h57
  3. Creer un setup.exe, mais comment inclure des dossiers indispensables pour l'appli
    Par bouboulou dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 12/09/2007, 12h50
  4. Comment faire des menus pour DVD-vidéo
    Par BigBenQ dans le forum Vidéo
    Réponses: 3
    Dernier message: 21/11/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo