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 インストーラを使用する。
- wingetパッケージマネージャを使用する。
winget install 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.