Sur cette page

Compiler Qt Multimedia à partir des sources

Cette page décrit le processus de configuration et de compilation Qt Multimedia. Cette description suppose que vous connaissiez déjà la page « Compilation des sources Qt », qui précise les exigences de compilation pour votre plateforme, ainsi que la présentation des options de configuration de Qt. Pour les considérations spécifiques à chaque plateforme concernant le module Qt Multimedia, consultez la section « Remarques sur les plateformes » ci-dessous.

Compilation à partir des sources

La compilation d'Qt Multimedia avec toutes les fonctionnalités dépend des en-têtes et des bibliothèques FFmpeg sur la plupart des plateformes. Il est possible de compiler Qt Multimedia sans le backend multimédia FFmpeg Qt Multimedia, mais cela n'est recommandé que lors de la compilation pour des plateformes où le backend FFmpeg n'est pas pris en charge.

Les bibliothèques de développement FFmpeg requises pour compiler Qt Multimedia peuvent être compilées à partir des sources ou téléchargées sous forme de paquets binaires. Qt Multimedia peut utiliser soit une liaison statique, soit une liaison dynamique avec les bibliothèques FFmpeg. Nous recommandons d’utiliser la même version majeure de FFmpeg que celle indiquée dans la section « Remarques sur les plateformes cibles et les backends ». Pour plus d’informations sur la compilation des bibliothèques de développement FFmpeg, consultez la section « Compiler FFmpeg à partir du code source ».

Remarque : la version minimale de FFmpeg prise en charge pour le backend FFmpeg d’ Qt Multimedia est la version 4.4.

Pour compiler Qt Multimedia avec la prise en charge de FFmpeg, spécifiez l’option ` -ffmpeg-dir ` sur la ligne de commande `configure` lors de la compilation de Qt.

qt-source/configure -ffmpeg-dir <FFMPEG_DIR>

Ici, « <FFMPEG_DIR> » désigne le répertoire contenant les répertoires « include », « lib » et « bin » de FFmpeg. Pour compiler « Qt Multimedia » sans FFmpeg, omettez la variable « <FFMPEG_DIR> » et spécifiez l’option « -no-feature-ffmpeg » lors de la commande « configure ».

Pour compiler Qt Multimedia sans les backends multimédias natifs, utilisez -no-feature-xxx afin d’exclure les fonctionnalités correspondantes, telles que gstreamer, native_windows_backend, native_darwin_backend ou native_android_backend.

qt-source/configure -no-feature-gstreamer

Si vous préférez ne pas compiler tous les sous-modules de Qt, vous pouvez réduire les temps de configuration et de compilation en utilisant l’option de configuration -submodules. Cela permettra de configurer une compilation qui ne produira que Qt Multimedia et ses dépendances.

qt-source/configure -submodules qtmultimedia -ffmpeg-dir <FFMPEG_DIR>

Si vous configurez Qt Multimedia avec une version de FFmpeg compilée avec des bibliothèques partagées (liaison dynamique), les bibliothèques partagées de FFmpeg doivent se trouver dans le chemin de recherche du chargeur de modules pour pouvoir exécuter les tests ou utiliser les exemples.

Remarque : Qt Multimedia nécessite les bibliothèques FFmpeg avformat, avcodec, swresample, swscale et avutil lors de l'exécution pour pouvoir utiliser le backend multimédia FFmpeg. Si une ou plusieurs de ces bibliothèques dynamiques sont introuvables au démarrage de l’application, le backend multimédia FFmpeg ne pourra pas se charger et le système tentera de charger le backend natif. Qt Multimedia ne prend pas en charge autant de fonctionnalités sur les backends natifs.

Si ces bibliothèques ne se trouvent pas déjà dans le répertoire ` path`, spécifiez l'option de configuration ` -ffmpeg-deploy `. Lorsque cette option est activée, les binaires FFmpeg nécessaires seront copiés dans le répertoire d'installation de Qt au cours des étapes de compilation et d'installation :

qt-source/configure -submodules qtmultimedia -ffmpeg-dir <FFMPEG_DIR> -ffmpeg-deploy

Après avoir configuré Qt Multimedia, examinez attentivement le résumé de la configuration (disponible dans le fichier config.summary). Vous pouvez vérifier que FFmpeg figure bien dans la section « Plugin ». Suivez ensuite les étapes habituelles de compilation et d’installation décrites dans la section « Compilation des sources Qt ».

Remarque : lors de la compilation statique d’ Qt Multimedia, le chemin d’accès aux bibliothèques FFmpeg est intégré dans le fichier « libQt6FFmpegMediaPluginImpl.prl ». Vous devrez modifier ce chemin si votre installation de Qt est destinée à être utilisée sur une autre machine.

Remarques sur la plate-forme

iOS

Linux

  • Lors de la configuration d’ Qt Multimedia, avec FFmpeg activé, le paquet de développement pipewire ou pulseaudio est requis. Sans l’un de ces paquets, FFmpeg ne sera pas reconnu.
  • Si vous utilisez une version de FFmpeg compilée avec le support VAAPI, nous vous recommandons de compiler également Qt Multimedia avec le support VAAPI afin de permettre la conversion matérielle des textures. Pour configurer Qt Multimedia avec le support VAAPI, les bibliothèques de développement VAAPI doivent être installées sur votre système. Consultez le fichier config.summary pour vérifier que la prise en charge de VAAPI est activée dans la section « Accélération matérielle et fonctionnalités ».
  • Lors de la configuration d’ Qt Multimedia avec le backend GStreamer, la version minimale requise est GStreamer v1.20. Cependant, nous vous recommandons d’utiliser la dernière version stable en amont de GStreamer si possible.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.