FFmpegのビルド

概要

FFmpegを実行可能な形式(ffmpeg.exe)にビルドします。
32bit版、64bit版の両方をビルドします。

作業手順は以下のとおりです。

  1. MSYS\msys.bat を実行。(プロンプト画面(黒い画面)が起動します。)
  2. 下記の黒い部分のコマンドを一行ずつ入力し、Enterキーを押す。
  3. 処理が完了するまで待つ。
  4. 2~3を繰り返す。

なお、ビルド作業を自動化したスクリプトもあります。
詳しくは、ビルド用スクリプトをご覧ください。

※ご注意※
  • このページの内容は、こちらで構築した環境をベースに記述されています。
    その他の環境では正常に動作しない可能性があります。
  • このページの内容は、2016/12/25 時点のものです。
    備忘録的なページのため、内容に誤りがある可能性があります。

ソースコードの入手

ダウンロード&パッチをあてます。

  • 最新版(Latest)の場合
    1. cd /tmp1
    2. git -c core.autocrlf=false clone --depth 1 git://source.ffmpeg.org/ffmpeg.git ffmpeg
    3. cd ffmpeg
    4. curl -O# http://mylabo.webcrow.jp/data/diff/ffmpeg-20161225.diff
    5. patch -p1 < ffmpeg-20161225.diff
  • 最新安定版(Stable)の場合
    1. cd /tmp1
    2. git -c core.autocrlf=false clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
    3. cd ffmpeg
    4. git checkout refs/tags/`git tag -l 'n*' | sed -e /dev/d | tail -n 1`
    5. curl -O# http://mylabo.webcrow.jp/data/diff/ffmpeg-20161225.diff
    6. patch -p1 < ffmpeg-20161225.diff

パッチの適用

必要のない場合はパスできます。

  1. 適用したいパッチ(hoge.diff)を MSYS\tmp\ffmpeg に入れます。
  2. 以下のように入力し、Enterキーを押します。
    1. patch -p1 < hoge.diff
    ※パッチを当てる前に戻したい場合は、以下のように入力します。
    1. patch -p1 -R < hoge.diff

ビルドの開始

※以下のconfigureオプションは、音声ライブラリのビルド映像ライブラリのビルドその他ライブラリのビルドのページにあるライブラリを全てインストールした場合のものです。
インストールしていないライブラリがある場合は、そのライブラリのチェックを外してください。

  1. 32bit版をインストールします。
    1. PKG_CONFIG_PATH=/x86/lib/pkgconfig ./configure --prefix=/x86 --cross-prefix=i686-w64-mingw32- --cpu=i686 --target-os=mingw32 --arch=x86 --enable-gpl --enable-version3 --enable-avisynth --enable-avresample --enable-cross-compile --enable-libfdk-aac --enable-nonfree --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-nvenc --enable-static --enable-w32threads --disable-debug --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --disable-pthreads --disable-shared --optflags="-s -O3 -finline-functions -fno-tree-vectorize -fno-strict-aliasing" --extra-cflags="-I/x86/include" --extra-cxxflags="-pipe" --extra-ldflags="-L/x86/lib -static" --pkg-config-flags="--static"
    2. make -j3
    3. make install
    4. make distclean
  2. 64bit版をインストールします。
    1. PKG_CONFIG_PATH=/x64/lib/pkgconfig ./configure --prefix=/x64 --cross-prefix=x86_64-w64-mingw32- --cpu=x86_64 --target-os=mingw32 --arch=x86_64 --enable-gpl --enable-version3 --enable-avisynth --enable-avresample --enable-cross-compile --enable-libfdk-aac --enable-nonfree --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-nvenc --enable-static --enable-w32threads --disable-debug --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --disable-pthreads --disable-shared --optflags="-s -O3 -finline-functions -fno-tree-vectorize -fno-strict-aliasing" --extra-cflags="-I/x64/include" --extra-cxxflags="-pipe" --extra-ldflags="-L/x64/lib -static" --pkg-config-flags="--static"
    2. make -j3
    3. make install
    4. make distclean

以上で完了です。
ビルドに成功すると、以下のディレクトリにバイナリ(x264.exe)が生成されます。

  • 32bit版: MSYS\local\x86\bin
  • 64bit版: MSYS\local\x86_64\bin

ソースファイルの削除

MSYS\tmp にはFFmpegのソースファイルが残っています。
必要ない場合は、削除しても構いません。

削除手順は以下のとおりです。

  1. cd /tmp1
  2. rm -rf ffmpeg
Comment Form is loading comments...