Windowsでffmpegをビルドする【MSYS2/MinGW編】

Windowsでffmpegをビルドする【MSYS2/MinGW編】

概要

Windows 10 Homeで、ffmpegをソースからビルドする方法を、MSYS2とMinGWを使って挑戦してみます。

インストール

公式サイトから「msys2-x86_64_64-20180531.exe」を選択してインストールします。

設定はデフォルトのままでいいと思います。

パッケージの更新

スタートメニューの「MSYS2 64bit」→「MSYS2 MSYS」からシェルを起動して、以下のコマンドを実行します。

確認ではエンターを押して、どんどん更新していきます。

Bash自体も更新されるため、「exit」コマンドが効かない事もあるので、ウィンドウのクローズボタンでシェルを閉じて、シェルを再起動して更新がなくなるまで繰り返してください。

開発環境のインストール

スタートメニューの「MSYS2 64bit」→「MSYS2 MinGW 64-bit」 で、MinGWのシェルを起動して、pacmanで必要なものをインストールします。

ffmpegのソースを取得

gitでリポジトリからクローンします。

以下、ffmpegディレクトリで作業します。

configure

makeの事前準備でconfigureを実行しますが、makeに必要なパッケージをまとめてインストールします。

インストールが完了すれば、configureの実行です。

結構時間がかかりますので、その間にオプションについてをご覧ください。

オプションについて

今回設定したオプションは、ffmpegが公式で配布しているWindows用バイナリに合わせるようにしていますが、パーケージがなかったり、ソースからのビルドが失敗したりして、以下のオプションを有効にできませんでした。

make

configureが問題なく終われば、後はmakeして、インストールするだけです。

インストールしたexeファイルは「C:\msys64\home\rochi\ffmpeg_build\bin」に生成されます。

あとがき

ここまでたどり着くために、GWの3日間を費やしました…

わかってみると簡単なことですが、初めてのMSYS2とMinGWに加えて、configureとパッケージの関係を調べるために、パッケージを1つインストールしては、configureと恐ろしく時間がかかることをやっていたためです(笑)

何のためにわざわざソースからビルドしたかって?

理由はこれを実現するためでした、合わせてご覧ください。