Erstellen von FFmpeg aus dem Quellcode unter macOS
Diese Seite erklärt, wie man FFmpeg auf macOS konfiguriert und baut. Dies beinhaltet:
- Holen Sie sich den FFmpeg-Quellcode.
- Installieren Sie die erforderlichen Abhängigkeiten.
- Konfigurieren Sie FFmpeg über die Kommandozeile.
- Bauen Sie die Entwicklungsbibliotheken.
Beschaffung des FFmpeg-Quellcodes
Sie können den FFmpeg-Quellcode auf folgende Weise erhalten:
- Download von der FFmpeg Download-Seite.
- Klonen von git. Zum Beispiel klont dieser Befehl die Version 7.1 der FFmpeg-Quellen nach
~/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 ~/ffmpeg
speichern.
Voraussetzungen
Um FFmpeg zu bauen, werden diese Werkzeuge und Pakete benötigt:
- Homebrew
- Homebrew-Pakete (yasm).
Installieren von Homebrew
Um Homebrew zu installieren, führen Sie aus:
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Installation von Homebrew-Paketen
Um das Homebrew-Paket Yasm zu installieren, führen Sie aus:
% brew install yasm
FFmpeg konfigurieren und erstellen
Erstellen Sie ein Verzeichnis build
innerhalb des Verzeichnisses ~/ffmpeg
und navigieren Sie in dieses Verzeichnis:
% mkdir ~/ffmpeg/build % cd ~/ffmpeg/build
Um FFmpeg zu konfigurieren, führen Sie aus:
% ../configure --prefix=/usr/local/ffmpeg --disable-doc --enable-network --enable-shared
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 sein. Um FFmpeg als statische Bibliotheken zu bauen, lassen Sie die Option --enable-shared
weg.
Im vorherigen Codeschnipsel wurde für das Argument --prefix
absichtlich ein absoluter Pfad verwendet. Wenn Sie einen relativen Pfad angeben (z. B. ../install
), werden die Abhängigkeiten über diesen relativen Pfad referenziert und nicht über den korrekten Pfad @rpath
. Die Verwendung absoluter Pfade macht ein FFmpeg-Build nicht portabel. Um relative Pfade zu verwenden und ein FFmpeg-Build portabel zu machen, müssen Sie die Abhängigkeiten manuell mit otool korrigieren.
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 /usr/local/ffmpeg
installiert. Wenn Sie Qt Multimedia erstellen, wird dieser Pfad in der Variable FFMPEG_DIR
gespeichert, die bei der Konfiguration von Qt Multimedia verwendet wird.
Konfigurieren und Erstellen von universellen FFmpeg-Binärdateien
Um universelle Binärdateien unter macOS zu erstellen (z. B. für die Architekturen x86_64 und arm64), führen Sie die folgenden Schritte aus:
- Konfigurieren und erstellen Sie FFmpeg für die arm64-Architektur:
% ../configure --prefix=/usr/local/ffmpeg/arm64 --disable-doc --enable-network \ --enable-shared --enable-cross-compile --arch=arm64 --cc="clang -arch arm64" % make -j install
- Konfigurieren und erstellen Sie FFmpeg für die x86_64-Architektur:
% ../configure --prefix=/usr/local/ffmpeg/x86_64 --disable-doc --enable-network \ --enable-shared --enable-cross-compile --arch=x86_64 --cc="clang -arch x86_64" % make -j install
- Kombinieren Sie die Builds mit lipo zu einer universellen Binärdatei.
© 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.