QtAVはQtとFFmpegを基盤とした、クロスプラットフォームかつ高パフォーマンスなメディア再生ライブラリです。ネット上の情報ではビルド難易度が高く語られることもありますが、使用するコンパイラに合わせた適切な環境変数の設定を行えば、手順自体は非常に単純です。ここでは、Windows環境下でMSVCコンパイラを使用したビルド方法を中心に解説します。
検証環境
本記事の手順は以下の環境で確認しています。
- OS: Windows 10 (64bit)
- Qt: 5.7.1
- Compiler: MSVC 2013 (Visual Studio 2013)
- IDE: Qt Creator 4.2
ソースコードと依存ライブラリの取得
まず、GitHubの公式リポジトリからQtAVのソースコードをクローンまたはダウンロードします。次に、FFmpeg等の外部依存ライブラリが含まれる「QtAV-depends-windows-x86+x64」アーカイブをダウンロードし、ローカルディスクの任意のディレクトリに展開します。
環境変数の構成
ビルドを成功させるための鍵は、コンパイラに応じた環境変数の設定です。多くのトラブルは、MinGW(GCC)とMSVCで設定すべき変数名が異なることを理解していないことに起因します。
MSVC (Visual Studio) の設定
Visual Studio付属のMSVCコンパイラを使用する場合、ヘッダファイルのパスは環境変数 INCLUDE に、ライブラリファイルのパスは LIB に追加する必要があります。
依存ライブラリの展開先が D:\SDK\QtAV-deps であると仮定した場合の設定例は以下の通りです。
INCLUDE=D:\SDK\QtAV-deps\include;%INCLUDE%
LIB=D:\SDK\QtAV-deps\lib;%LIB%
システムのプロパティから環境変数を編集し、これらのパスを追加してください。
MinGW (GCC) の設定
MinGWなどのGCC系ツールチェインを使用する場合は、パスを通すための変数名が異なります。INCLUDE ではなく CPATH を、LIB ではなく LIBRARY_PATH 使用します。
CPATH=D:\SDK\QtAV-deps\include
LIBRARY_PATH=D:\SDK\QtAV-deps\lib
ビルドの実行
環境変数の設定が完了したら、Qt Creatorを起動してQtAVのプロジェクトファイルを開きます。ビルド構成(DebugまたはRelease)を選択し、プロジェクトのビルドを実行します。環境変数が正しく設定されていれば、qmakeの実行およびコンパイルが正常に完了します。
動作確認
ビルドが完了すると、生成された bin ディレクトリ内に simpleplayer.exe などのサンプルプログラムが作成されます。
このまま実行しても必要なDLLが不足しているため、依存ライブラリの bin フォルダにあるFFmpeg関連のDLLファイルを、生成された実行ファイルと同じディレクトリにコピーします。その後、simpleplayer.exe を実行し、ローカルの動画ファイルを選択して再生できれば、ビルドおよび設定は正常に完了しています。