Erstellung von Qt Multimedia aus den Quellen

Diese Seite beschreibt den Prozess des Konfigurierens und Erstellens von Qt Multimedia. Diese Beschreibung setzt Vertrautheit mit Building Qt Sources voraus, das die Build-Anforderungen für Ihre Plattform spezifiziert, sowie einen Überblick über Qt Configure Options. Für plattformspezifische Überlegungen in Bezug auf das Qt Multimedia Modul, siehe Plattformhinweise unten.

Bauen aus den Quellen

Die Erstellung von Qt Multimedia mit voller Funktionsunterstützung hängt auf den meisten Plattformen von FFmpeg-Headern und -Bibliotheken ab. Es ist möglich, Qt Multimedia ohne das Qt Multimedia FFmpeg Media Backend zu bauen, aber dies wird nur empfohlen, wenn Sie für Plattformen bauen, auf denen das FFmpeg Backend nicht unterstützt wird.

Die FFmpeg-Entwicklungsbibliotheken, die zur Erstellung von Qt Multimedia benötigt werden, können aus den Quellen erstellt oder als Binärpakete heruntergeladen werden. Qt Multimedia kann entweder statisches oder dynamisches Linking zu FFmpeg-Bibliotheken verwenden. Wir empfehlen, die gleiche Hauptversion von FFmpeg zu verwenden, die in FFmpeg als Standard-Backend aufgeführt ist. Informationen über die Erstellung der FFmpeg-Entwicklungsbibliotheken finden Sie unter Erstellen von FFmpeg aus den Quellen.

Um Qt Multimedia mit FFmpeg-Unterstützung zu erstellen, geben Sie die CMake-Variable -DFFMPEG_DIR in der configure-Befehlszeile an, wenn Sie Qt erstellen. Beachten Sie das Trennzeichen --, das die normalen configure-Argumente von den CMake-Parametern trennt.

qt-source/configure -- -DFFMPEG_DIR=<FFMPEG_DIR>

Hier ist <FFMPEG_DIR> das Verzeichnis, das die FFmpeg-Verzeichnisse include, lib und bin enthält. Um Qt Multimedia ohne FFmpeg zu bauen, lassen Sie die Variable <FFMPEG_DIR> weg und geben die Option -no-feature-ffmpeg configure an.

Wenn Sie es vorziehen, nicht alle Qt-Submodule zu erstellen, können Sie die Konfigurations- und Erstellungszeiten mit der Option -submodules configure reduzieren. Dies wird einen Build konfigurieren, der nur Qt Multimedia und seine Abhängigkeiten baut.

qt-source/configure -submodules qtmultimedia -- -DFFMPEG_DIR=<FFMPEG_DIR>

Wenn Sie Qt Multimedia gegen FFmpeg konfigurieren, das mit gemeinsam genutzten Bibliotheken gebaut wurde (dynamisches Linken), müssen die gemeinsam genutzten FFmpeg-Bibliotheken im Suchpfad des Modulladers enthalten sein, um Tests oder Beispiele verwenden zu können.

Hinweis: Qt Multimedia benötigt die FFmpeg-Bibliotheken avformat, avcodec, swresample, swscale und avutil zur Laufzeit, um das FFmpeg-Medien-Backend nutzen zu können. Wenn eine oder mehrere dieser dynamischen Bibliotheken während des Anwendungsstarts nicht gefunden werden, kann das FFmpeg Media Backend nicht geladen werden, und das System versucht, das native Backend zu laden. Qt Multimedia unterstützt nicht so viele Funktionen nativer Backends.

Wenn Sie diese Bibliotheken nicht bereits in path haben, geben Sie die Option -DQT_DEPLOY_FFMPEG=ON configure an. Wenn diese Option aktiviert ist, werden die erforderlichen FFmpeg-Binärdateien während der Build- und Installationsschritte in das Qt-Installationsverzeichnis kopiert:

qt-source/configure -submodules qtmultimedia -- -DFFMPEG_DIR=<FFMPEG_DIR> -DQT_DEPLOY_FFMPEG=ON

Nachdem Sie Qt Multimedia konfiguriert haben, überprüfen Sie sorgfältig die Zusammenfassung von configure (zu finden in der Datei config.summary). Sie können überprüfen, dass FFmpeg unter dem Abschnitt "Plugin" zu finden ist. Dann folgen Sie den regulären Build- und Installationsschritten, die im Abschnitt Erstellen von Qt-Quellen beschrieben sind.

Hinweise zur Plattform

Linux

  • Wenn Sie Qt Multimedia mit aktiviertem FFmpeg konfigurieren, benötigen Sie das Entwicklungspaket pulseaudio. Ohne dieses Paket wird FFmpeg nicht erkannt.
  • Wenn Sie eine Version von FFmpeg verwenden, die mit VAAPI-Unterstützung gebaut wurde, empfehlen wir, Qt Multimedia ebenfalls mit VAAPI-Unterstützung zu bauen, um eine Hardware-Texturkonvertierung zu ermöglichen. Um Qt Multimedia mit VAAPI-Unterstützung zu konfigurieren, müssen die VAAPI-Entwicklerbibliotheken auf Ihrem System installiert sein. Überprüfen Sie die Datei config.summary, um sicherzustellen, dass die VAAPI-Unterstützung im Abschnitt "Hardwarebeschleunigung und -funktionen" aktiviert ist.
  • Wenn Sie Qt Multimedia mit dem GStreamer-Backend konfigurieren, ist GStreamer v1.20 die Mindestanforderung. Wir empfehlen jedoch, wenn möglich, die neueste stabile GStreamer-Upstream-Version zu verwenden.

© 2025 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.