Windowsでffmpegをビルドする手順。

■ MinGW+msys のインストール

まず、gccでビルドするので、以下より MinGWをインストールする。

MinGW は以下よりダウンロードできる。「Download mingw-get-setup.exe 」のリンクをクリックし、「mingw-get-setup.exe」をダウンロードする。
MinGW - Minimalist GNU for Windows

「mingw-get-setup.exe」を実行すると、インストールされ、インストールが完了すると、自動的にMinGW Installation Managerが起動する。

ffmpeg-build5

MinGW Installation Managerより必要なパッケージをインストールするため、以下にチェックを入れる(右クリックし、「Mark for Installation」を実行する)。
・mingw-developer-toolkit
・mingw32-base
・mingw32-gcc-g++
・msys-base

ffmpeg-build6

次にメニューの
    Installation - Apply Changes
を実行する。

インストールが完了したらCloseボタンを押し、ダイアログを閉じる。

ffmpeg-build10

MinGW Installation Managerも終了する。

次に
  C:\MinGW\msys\1.0\msys.bat
を実行する。

初期状態では gcc を実行しようとしても
    sh: gcc: command not found
と文句を言われてしまうので、
    C:\MinGW\msys\1.0\postinstall\pi.bat
を実行する。
ここでMinGW をインストールしたフォルダ(c:/MinGW)を指定する必要がある。
実行後いったん msys を閉じ、再度 msys.bat を実行すると gcc が実行できるようになっている。

■ nasm のインストール

この時点でffmpegをビルドしようとしても以下のエラーになる。
    yasm/nasm not found or too old. Use --disable-yasm for a crippled build.

そこで ffmpeg のビルドで必要になる nasm をインストールしておく。yasm はなくてもいいようだ。

以下よりnasmを最新ソースをダウンロードする
http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D

2.11.08フォルダの「nasm-2.11.08.zip」をダウンロードし、
msysのhomeに展開する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\nasm-2.11.08

msys.bat を実行し、以下のコマンドでビルドする。
    cd nasm-2.11.08
    ./configure -prefix=/mingw
    make
    make strip
    make install

完了したら、以下のコマンドなどインストールされていることを確認する。
    nasm -v

■ FFmpegのソースの配置

FFmpegのソースを公式サイトからダウンロードする。
https://www.ffmpeg.org/download.html

下のほうの「FFmpeg 2.8.6 "Feynman"」のgzipのボタンをクリック。
「ffmpeg-2.8.6.tar.gz」をダウンロード。

ダウンロードしたら解凍し、msysのhomeに配置する。
    C:\MinGW\msys\1.0\home\(ユーザー名)\ffmpeg-2.8.6

■ FFmpegのビルド

msys.bat を実行し、以下を実行する。

cd ffmpeg-2.8.6
./configure --prefix=ffmpeg/ --enable-shared \
            --extra-libs=-static --extra-cflags=--static \
            --disable-gpl --cpu=i686 --enable-static --enable-zlib --arch=x86

LGPL 2.1 になっていることが分かる。

   License: LGPL version 2.1 or later
    Creating config.mak, config.h, and doc/config.texi...

このような警告は出ているがいちおう成功しているっぽい。

    WARNING: pkg-config not found, library detection may fail.

続けて以下を実行し、ビルドを開始する。結構時間がかかる。
    make

完了すると、ffmpeg-2.8.6 直下に
    ffmpeg_g.exe
    ffmpeg.exe
ができている。

ffmpeg_g.exeはデバッグ情報を含んだものらしい。
ffmpeg.exeを好きな場所にコピーして使う。

また、ffmpeg-2.8.6 以下の各フォルダに lib、dll ができている。

以上。