WindowsでFFmpegをソースからビルドする

このページでは、Windows上でFFmpegを設定し、ビルドする方法を説明します。手順は以下の通りです:

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

FFmpegソースコードの入手

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

  • FFmpegのダウンロードページからダウンロードする。
  • gitからクローンする。例えば、このコマンドは FFmpeg ソースのバージョン 7.1 をC:\FFmpeg\ffmpeg にクローンします。
    C:\FFmpeg> git clone --branch n7.1 https://git.ffmpeg.org/ffmpeg.git ffmpeg

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

以下の段落では、FFmpeg のソースコードをC:\FFmpeg\ffmpeg の下に保存することを前提としています。

前提条件

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

  • Microsoft Visual Studioコンパイラ(MSVC)またはMinGW-w64。
  • MSYS2
  • MSYSパッケージ(perl、make、yasm、diffutils)。

Qtがサポートしている推奨コンパイラについては、「Qt for Windows - ソースからのビルド」を参照してください。サポートされている MinGW-w64 コンパイラは、Qt Online Installer を使用してインストールできます。

MSYS2 のインストール

MSYS2 をインストールするには

この文書では、MSYS2 がC:\msys64\ にインストールされていることを前提としています。これはwinget を使用する場合のデフォルトのパスです。

インストールが完了したら、Windows のスタートメニューからMSYS2 MINGW64 シェルを起動し、必要なライブラリをインストールします。

pacman -S --noconfirm perl make yasm diffutils

FFmpegをビルドする前に、MSYS2のPATH にコンパイラがなければなりません。これはMSVCとMinGW-w64で異なる。使用するコンパイラ用にMSYS2環境を準備します。

Mingw-w64でビルドするためのMSYS環境の準備

C:\Qt\Tools\mingw1310_64\bin の下にインストールされた MinGW-w64 の場合、PATH 環境変数をエクスポートすることで、PATH に追加できます。

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

pacman を使って MinGW-w64 をインストールすることもできます。

$ pacman -S mingw-w64-x86_64-toolchain

MSVC用のMSYS2環境の準備

MSYS2でMSVCコンパイラを使ってFFmpegをビルドするには、適切なCとC++コンパイラがパスにある状態でMSYS2を起動する必要があります。64ビットビルドの場合は

  • WindowsのスタートメニューからVisual Studio x64 Native Toolsコマンドプロンプトを起動します。
  • 既存のコマンド プロンプトから MSVC コンパイラを有効にします:
    "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64

このコマンド・プロンプトから、MINGW64 環境を選択し、パス継承を有効にするオプションを指定して MSYS2 シェルを起動します。

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

これにより新しいシェル・ウィンドウが起動し、MSVCコンパイラが使用可能であることを確認できます。

$ which cl.exe

FFmpegの設定とビルド

準備されたMSYS2シェルから、/c/FFmpeg ディレクトリに移動します。このディレクトリに、FFmpegのビルド成果物を格納するbuild ディレクトリを作成し、その中に移動します。

$ cd /c/FFmpeg/build

MinGW-w64 でビルドするように FFmpeg を設定するには、以下を実行します:

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

MSVCでビルドするようにFFmpegを設定するには、他のコマンドラインオプションに加えて、ツールチェーンを指定します:

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

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

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

$ make -j install

ビルドがエラーなしで完了すると、FFmpeg開発ライブラリはC:\FFmpeg\install ディレクトリにインストールされます。Qt Multimedia をビルドした場合、このパスはQt Multimedia を設定するときに使用するFFMPEG_DIR 変数に格納されます。

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