このページでは

macOSでのFFmpegのソースからのビルド

このページでは、macOS上でFFmpegを設定およびビルドする方法について説明します。必要な手順は以下の通りです:

  • FFmpegのソースコードを入手します。
  • 必要な依存関係をインストールします。
  • コマンドラインからFFmpegを設定する。
  • 開発用ライブラリをビルドする。

FFmpegのソースコードを入手する

FFmpegのソースコードは、以下の方法で入手できます。

  • FFmpegのダウンロードページからダウンロードします。
  • Gitからクローンする。たとえば、次のコマンドを実行すると、FFmpegのソースコードバージョン9.0.1が~/ffmpeg にクローンされます。
    git clone --branch n9.0.1 https://git.ffmpeg.org/ffmpeg.git ffmpeg

Qt Multimedia のメインページに記載されているのと同じバージョンの FFmpeg を使用することをお勧めします。

以下の説明では、FFmpegのソースコードを~/ffmpeg に保存していることを前提としています。

前提条件

FFmpegをビルドするには、以下のツールとパッケージが必要です:

  • Homebrew。
  • Homebrew パッケージ (yasm)。

Homebrewのインストール

Homebrew をインストールするには、次のコマンドを実行します:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew パッケージのインストール

Homebrew パッケージ「Yasm」をインストールするには、次のコマンドを実行します:

brew install yasm

FFmpegの設定とビルド

~/ffmpeg ディレクトリ内にbuild ディレクトリを作成し、そのディレクトリに移動します:

mkdir ~/ffmpeg/build
cd ~/ffmpeg/build

FFmpeg を設定するには、次のコマンドを実行します:

../configure --prefix=/usr/local/ffmpeg --disable-doc --enable-network --enable-shared

--prefix 引数は、ビルド後にFFmpegの開発用ライブラリがインストールされるパスを指定します。ドキュメントは不要ですが、ネットワーク機能は有効にしておく必要があります。FFmpegを静的ライブラリとしてビルドする場合は、--enable-shared オプションを省略してください。

前のコードスニペットでは、--prefix 引数に意図的に絶対パスが使用されています。 相対パス(例:../install )を指定すると、依存関係はこの相対パスを使用して参照され、@rpath で指定された正しいパスは使用されなくなります。絶対パスを使用すると、FFmpegのビルドは移植性が失われます。相対パスを使用しつつFFmpegのビルドを移植性のあるものにするには、otoolを使用して依存関係を手動で修正する必要があります。

configure コマンドが完了したら、make コマンドを使用してFFmpegをビルドおよびインストールします。

make -j install

エラーなしでビルドが完了すると、FFmpegの開発用ライブラリは/usr/local/ffmpeg ディレクトリにインストールされます。Qt Multimedia をビルドした場合、このパスはQt Multimedia の構成時に使用されるFFMPEG_DIR 変数に保存されます。

FFmpeg ユニバーサルバイナリの設定とビルド

macOS上でユニバーサルバイナリ(たとえば、x86_64とarm64の両方のアーキテクチャ向け)を作成するには、以下の手順に従ってください:

  • arm64アーキテクチャ向けにFFmpegを構成およびビルドします:
    ../configure --prefix=/usr/local/ffmpeg/arm64 --disable-doc --enable-network \
        --enable-shared --enable-cross-compile --arch=arm64 --cc="clang -arch arm64"
    make -j install
  • x86_64 アーキテクチャ向けの FFmpeg の設定とビルド:
    ../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
  • lipo を使用して、ビルド結果をユニバーサルバイナリに結合します。

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