Vidéo avec Qt sous Windows en utilisant Phonon

Formation

En Ligne

Prix sur demande

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Description

  • Typologie

    Formation

  • Méthodologie

    En ligne

Grâce à cette formation vous pourrez acquérir les connaissances nécessaires qui vous permettrons d’ajouter des compétences à votre profil et obtenir de solides aptitude qui vous offriront de nombreuses opportunités professionnelles.

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Les Avis

Le programme

Introduction du cours

Depuis la version 4.4, Qt permet d'introduire de la vidéo dans ses interfaces par le biais du framework multimédia Phonon. Phonon permet simplement de créer des applications telles que des lecteurs audio, vidéo...

Nous allons ainsi apprendre à utiliser Phonon sous Windows.

Attention, cela ne fonctionne que sous Windows 32 bits et nécessite DirectX.

Qu'est ce que Phonon ?

Phonon est le nom du framework multimédia de KDE4.
C'est également un module de Qt qui a été introduit dans la version 4.4 afin de pouvoir utiliser de la vidéo dans ses applications.

Phonon est ainsi capable de lire à peu près tous les formats, puisqu'il utilise DirectX pour afficher la vidéo. Ce sont donc les codecs installés sur votre PC qui permettent d'améliorer la compatibilité de Phonon.

Voici la doc de Phonon : http://doc.trolltech.com/4.5/phonon-module.html

Cependant Phonon n'est pas directement utilisable sous Windows, car celui-ci ne permet pas d'être compilé sous Windows avec mingw. (Pas de problème pour Linux)

Mais comment faire alors ?

Jusqu'à présent, il n'existe pas de méthode officielle directement venue des développeurs de Nokia.

Mais des petits malins (que je remercie au passage) ont réussis à utiliser Phonon sous Windows.

Afin de pouvoir utiliser Phonon sous Windows nous allons devoir compiler Phonon de manière à ce qu'il supporte Qt avec mingw.

Ne vous inquiétez pas, tout est automatique.

Préparation avant compilation de Phonon

Cette compilation ne peut être effectuée que sur la version de Qt : 4.5.2 (2009.03.1). Veillez donc à vérifier la version de votre Qt.

Si vous ne possédez pas la version 4.5.2, téléchargez-la ici http://get.qt.nokia.com/qtsdk/qt-sdk-w [...] 2009.03.1.exe, puis installez-la en gardant les paramètres par défaut.

Depuis la version 4.6 de Qt publiée en 2010, le plugin Phonon est directement utilisable sans aucune modification. Cette version est disponible ici : http://get.qt.nokia.com/qtsdk/qt-sdk-w [...] e-2010.01.exe

Si vous possédez la version 4.6, vous pouvez directement passer à l'étape "DLLs, .pro et plugin".

C'est bon, vous êtes prêts pour la compilation.

Attention, cela ne fonctionne que sous Windows 32 bits et nécessite DirectX.

Compilation de Phonon

Comme je vous l'ai dit, nous allons utiliser un outil qui provient d'un membre de http://www.qtcentre.org.

Cet outil s'appelle phonon4qt.

Veuillez commencer par télécharger cet outil grâce à l'un de ces 2 liens :

  • http://rapidshare.com/files/260156018/phonon4qtmingw.zip

  • http://www.4shared.com/file/120723456/ [...] 4qtmingw.html

Une fois réceptionné, dé-zippez-le sur votre bureau par exemple.

Rendez-vous dans le dossier "phonon4qtmingw" puis lancez le fichier "install.cmd".

Voila la fenêtre CMD qui apparaît :

this package will build for you a phonon support qt with mingw automatically you must have the complete Qt SDK installed for this to work it works on the qt sdk which has its own mingw installed too it is tested on the "qt-sdk-win-opensource-2009.03" and in a Windows XP SP2 environment with a Pentium III 800MHz CPU (32 bit) now preparation is done and you can close this window (but read below before) next, for starting the real operation, open your qt command prompt type the "phonon4qt" there, press ENTER and follow the instructions phonon4qt program will build qt in release mode only, so build your applications using the "mingw32-make release" command line don't remove this package from this place until compilation is completed please tell me about your automatic builds with this package say about your Qt verion, OS type and version, results, problems etc. especially don't forget to test the phonon video and tell me about the result since I have problem with phonon video on my own system but on other systems the phonon video works perfectly send information for me at: hamidreza_mz -=@=- yahoo -=dot=- com

Vous pouvez la fermer.

Ouvrez ensuite "Qt Command Prompt".
Écrivez : phonon4qt

Setting up a MinGW/Qt only environment... -- QTDIR set to C:\Qt\2009.03\qt -- PATH set to C:\Qt\2009.03\qt\bin -- Adding C:\Qt\2009.03\bin to PATH -- Adding C:\WINDOWS\System32 to PATH -- QMAKESPEC set to win32-g++ C:\Qt\2009.03\qt>phonon4qt

Appuyez sur "Entrée".

Une première question apparaît :

this will build qt (mingw version) with phonon support overal operation typically takes hours (e.g. 5 hours on a 800MHz CPU) do you want to automatically shutdown your system after completion of the build proccess? (y/n): n

Si vous désirez que l'ordinateur s'éteigne automatiquement à la fin de la compilation, écrivez "y" pour yes puis validez par la touche "Entrée". Sinon faites de même avec "n" pour non.

Une deuxième question apparaît :

do you want all messages printed by the build tools to be redirected to the log file instead of displaying on the console? (y/n): y

Répondez "y" afin de garder une trace de la compilation, puis validez par "Entrée".

La compilation débute ...

La compilation de Phonon est très longue. Il faut compter environ 4 heures.

getting user options is done now the rest of operations for building qt are automatic (no user intervention) configure and mingw32-make commands will be run consecutively with command line options needed for building qt's phonon with mingw note that this program doesn't try to manage or even recognize any errors in the build process but if you have the prerequisites there should be no problems please report the result of your build to me if you can email me at: hamidreza_mz -=at=- yahoo -=dot=- com building takes a long time you can leave your machine alone if you want, after pressing one more any key! press any key to begin the rest of operations that are fully automatic... ==================================================================== current directory: C:\Qt\2009.03\mingw\include ==================================================================== step 1: adding new files to and patching some mingw's header files... patching file amvideo.h patching file bdatypes.h patching file control.h patching file dshow.h patching file strmif.h patching file vmr9.h ==================================================================== step 2: setting Microsoft DirectX SDK 2008 paths... Dx x86 target enviroment is now enabled. lib=C:\Users\Goooo\Desktop\phonon4qtmingw\phonon4qtmingw\dxsdklib2008\Lib\x86; include=C:\Users\Goooo\Desktop\phonon4qtmingw\phonon4qtmingw\dxsdklib2008\Includ e; ==================================================================== current directory: C:\Qt\2009.03\qt\bin ==================================================================== step 3: backing up old QtCore4.dll and QtNetwork4.dll files... they are copied under their original names with .old appended         1 fichier(s) copié(s).         1 fichier(s) copié(s). ==================================================================== current directory: C:\Qt\2009.03\qt ==================================================================== step 4: executing configure... this typically takes many minutes. messages are redirected to the log file ...

Il faut désormais attendre que la compilation soit terminée.

Une fois fini, voici le message qui apparaît :

building phonon support qt is finished log file is stored in "C:\Qt\2009.03\qt\phonon4qt.log"

C'est bon Phonon est compilé et prêt à être utilisé :) .

DLLs, .pro et pluginDLLs

Lors de la compilation de Phonon, les DLLs de Qt sont également modifiées.

Cela implique qu'il faut absolument remplacer vos anciennes DLLs que vous avez placer dans le system32 ou directement dans le dossier de l'.exe par les nouvelles.

Les nouvelles DLLs se trouvent dans le dossier "C:\Qt\2009.03\qt\bin".

En réalité seulement deux DLLs ont été modifiées, à savoir :

- QtCore4.dll
- QtNetwork4

Il faut donc les chercher dans le dossier "C:\Qt\2009.03\qt\bin", puis remplacer vos anciennes DLLs par celle-ci.

Le .pro

Ne pas oublier d'ajouter "QT+= phonon" dans le .pro

###################################################################### # Automatically generated by qmake (2.01a) ?????? ????? 19 19:52:53 2009 ###################################################################### TEMPLATE = app TARGET =  DEPENDPATH += . INCLUDEPATH += . # Input SOURCES += main.cpp QT+= phononPlugin

Pour que vos applications fonctionnent sur un autre PC que le votre il faudra également que vous distribuez le plugin du backend Phonon.

Pour cela rien de plus simple, il suffit de copier le dossier "C:\Qt\2009.03\qt\plugins\phonon_backend" à la racine de votre application .exe.

Sans ce dossier, votre application ne fonctionnera pas sur les PCs de vos utilisateurs.

Exemple très simple de l'utilisation de Phonon pour lire une vidéo

Cette exemple est disponible dans le sous dossier "phonon4qtmingw\phonon_test_program\video" de l'outil précèdent.

Voici le code de l'exemple :

#include <QApplication> #include <Phonon> #include <QLabel> #include <QVBoxLayout> int main(int argv, char **args) { QApplication app(argv, args); Phonon::VideoPlayer *player = new Phonon::VideoPlayer(Phonon::VideoCategory); player->show(); player->play(Phonon::MediaSource("test.wmv")); return app.exec(); }

Il suffit de lancer "Qt Command Prompt", de faire un "qmake" puis "mingw32-make release".

Phonon n'est que utilisable avec une compilation en mode Release.

Voici le screen de la compilation :

Setting up a MinGW/Qt only environment... -- QTDIR set to C:\Qt\2009.03\qt -- PATH set to C:\Qt\2009.03\qt\bin -- Adding C:\Qt\2009.03\bin to PATH -- Adding C:\WINDOWS\System32 to PATH -- QMAKESPEC set to win32-g++ C:\Qt\2009.03\qt>cd C:\Users\***\Desktop\phonon4qtmingw\phonon4qtmingw\phonon_ test_program\video C:\Users\***\Desktop\phonon4qtmingw\phonon4qtmingw\phonon_test_program\video>q make C:\Users\***\Desktop\phonon4qtmingw\phonon4qtmingw\phonon_test_program\video>m ingw32-make release mingw32-make -f Makefile.Release mingw32-make[1]: Entering directory `C:/Users/***/Desktop/phonon4qtmingw/phono n4qtmingw/phonon_test_program/video' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o release\video.exe release/main .o  -L"c:\Qt\2009.03\qt\lib" -lmingw32 -lqtmain -lphonon4 -lQtGui4 -lQtCore4 mingw32-make[1]: Leaving directory `C:/Users/***/Desktop/phonon4qtmingw/phonon 4qtmingw/phonon_test_program/video' C:\Users\***\Desktop\phonon4qtmingw\phonon4qtmingw\phonon_test_program\video>

Voila le résultat avec un fichier "test.wmv" à la racine de l'.exe. :) :)

Voilà, cela aura peut être été long et fastidieux, mais le jeu en vaut la chandelle.

Avec Phonon vous serez désormais capable d'utiliser de la vidéo dans vos applications.

  • #
Waouh !

Très heureux de voir que nos cours vous plaisent, déjà 3 pages lues aujourd'hui ! Vous pouvez continuer la lecture de nos cours en devenant un Roomie, un membre de la communauté d'OpenClassrooms. C'est gratuit !

Vous pourrez aussi suivre votre avancement dans le cours, faire les exercices et discuter avec les autres Roomies.

S'inscrire Se connecter
  • Thématiques du cours : Programmation Qt

Chaque cours est créé par un professeur ou un expert dans le domaine. Il est composé d'une ou plusieurs parties et peut comporter du texte, des images (schéma, illustration) et des vidéos. Chaque partie d'un cours certifiant est ponctuée d'exercices de 2 types : Des quiz corrigés automatiquement Des devoirs libres (exemple : créer un site web avec des consignes précises). Ces devoirs sont évalués par les pairs. Chaque devoir est corrigé 3 fois par 3 autres élèves, dans un processus en double aveugle, selon un barème fixé par le professeur. La note finale est la moyenne des 3 notes reçues sur le devoir. 50% des devoirs corrigés par les pairs obtiennent quasiment les 3 mêmes notes, avec une variance inférieure à 1. La recherche académique montre d'ailleurs que l'évaluation par les pairs peut être aussi précise que celle des professeurs.

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Vidéo avec Qt sous Windows en utilisant Phonon

Prix sur demande