Erstellen von FFmpeg aus dem Quellcode unter Windows

Diese Seite erklärt, wie man FFmpeg unter Windows konfiguriert und baut. Dies beinhaltet:

  • Holen Sie sich den FFmpeg-Quellcode.
  • Installieren Sie die erforderlichen Abhängigkeiten.
  • Konfigurieren Sie FFmpeg von der Kommandozeile für MSVC oder für MinGW-w64.
  • Erstellen Sie die Entwicklungsbibliotheken.

Beschaffung des FFmpeg-Quellcodes

Sie können den FFmpeg-Quellcode auf folgende Weise erhalten:

  • Herunterladen von der FFmpeg-Download-Seite.
  • Klonen von git. Zum Beispiel klont dieser Befehl die Version 7.1 der FFmpeg-Quellen nach C:\FFmpeg\ffmpeg.
    C:\FFmpeg> git clone --branch n7.1 https://git.ffmpeg.org/ffmpeg.git ffmpeg

Es wird empfohlen, die gleiche FFmpeg-Version zu verwenden, wie sie auf der HauptseiteQt Multimedia dokumentiert ist.

In den folgenden Abschnitten wird davon ausgegangen, dass Sie den FFmpeg-Quellcode unter C:\FFmpeg\ffmpeg speichern.

Voraussetzungen

Um FFmpeg zu erstellen, werden diese Werkzeuge und Pakete benötigt:

  • Microsoft Visual Studio Compiler (MSVC) oder MinGW-w64.
  • MSYS2.
  • MSYS-Pakete (perl, make, yasm, und diffutils).

Siehe Qt für Windows - Erstellen vom Quellcode für empfohlene Compiler, die auch von Qt unterstützt werden. Sie können einen unterstützten MinGW-w64-Compiler mit dem Qt Online Installer installieren.

Installation von MSYS2

Um MSYS2 zu installieren, können Sie:

Die Anweisungen in diesem Dokument gehen davon aus, dass MSYS2 unter C:\msys64\ installiert ist, was der Standardpfad bei Verwendung von winget ist.

Starten Sie nach der Installation die Shell MSYS2 MINGW64 aus dem Windows-Startmenü, und installieren Sie damit die erforderlichen Bibliotheken.

pacman -S --noconfirm perl make yasm diffutils

Bevor Sie FFmpeg erstellen können, muss MSYS2 einen Compiler in seinem PATH haben. Dies ist für MSVC und MinGW-w64 unterschiedlich. Bereiten Sie die MSYS2-Umgebung für den von Ihnen verwendeten Compiler vor.

Vorbereiten der MSYS-Umgebung für das Bauen mit Mingw-w64

Für MinGW-w64, das unter C:\Qt\Tools\mingw1310_64\bin installiert ist, können Sie es zu PATH hinzufügen, indem Sie die Umgebungsvariable PATH exportieren.

$ export PATH=/c/Qt/Tools/mingw1310_64/bin:$PATH

Beachten Sie, dass es auch möglich ist, MinGW-w64 mit pacman zu installieren.

$ pacman -S mingw-w64-x86_64-toolchain

Vorbereiten der MSYS2-Umgebung für die MSVC

Die Erstellung von FFmpeg mit dem MSVC-Compiler unter MSYS2 erfordert, dass MSYS2 mit dem entsprechenden C- und C++-Compiler im Pfad gestartet wird. Für einen 64-Bit-Build, können Sie:

  • Starten Sie Visual Studio x64 Native Tools Command Prompt aus dem Windows-Startmenü.
  • Aktivieren Sie den MSVC-Compiler von einer bestehenden Eingabeaufforderung aus, indem Sie ihn ausführen:
    "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64

Starten Sie von dieser Eingabeaufforderung aus die MSYS2-Shell mit den Optionen zur Auswahl der MINGW64-Umgebung und zur Aktivierung der Pfadvererbung.

C:\msys64\msys2_shell.cmd -mingw64 -full-path

Dadurch wird ein neues Shell-Fenster geöffnet, in dem Sie überprüfen können, ob der MSVC-Compiler verfügbar ist.

$ which cl.exe

Konfigurieren und Erstellen von FFmpeg

Wechseln Sie in der vorbereiteten MSYS2-Shell in das Verzeichnis /c/FFmpeg. Erstellen Sie in diesem Verzeichnis ein Verzeichnis build, das die FFmpeg-Build-Artefakte enthalten wird, und navigieren Sie dorthin.

$ cd /c/FFmpeg/build

Um FFmpeg für die Erstellung mit MinGW-w64 zu konfigurieren, führen Sie aus:

$ ../ffmpeg/configure --prefix=../install --disable-doc --enable-network --enable-shared

Um FFmpeg für die Erstellung mit MSVC zu konfigurieren, geben Sie zusätzlich zu den anderen Befehlszeilenoptionen die Toolchain an:

$ ../ffmpeg/configure --prefix=../install --disable-doc --enable-network --enable-shared --toolchain=msvc

Das Argument --prefix gibt einen Pfad an, in dem die FFmpeg-Entwicklungsbibliotheken nach der Erstellung installiert werden. Die Dokumentation wird nicht benötigt, aber die Netzwerkfunktionen sollten aktiviert werden. Um FFmpeg als statische Bibliotheken zu bauen, lassen Sie die Option --enable-shared weg.

Sobald der Befehl configure beendet ist, erstellen und installieren Sie FFmpeg mit dem Befehl make.

$ make -j install

Wenn der Build ohne Fehler abgeschlossen wird, werden die FFmpeg-Entwicklungsbibliotheken im Verzeichnis C:\FFmpeg\install installiert. Wenn Sie Qt Multimedia erstellen, wird dieser Pfad in der Variable FFMPEG_DIR gespeichert, die bei der Konfiguration von Qt Multimedia verwendet wird.

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