FFmpegのコンパイルの方法

Last Update: 2016/08/30

  1. 必要なもの
  2. MSYSの準備
  3. インストーラMSYS-1.0.11.exe を実行し、インストールします。
    この例では、デフォルトの C:\MSYS\1.0 にインストールしたとします。

  4. YASMの配置
  5. yasm-1.3.0-win64.exe をダウンロードし、yasm.exeにリネームして、 C:\MSYS\1.0\bin に配置します。

  6. SDLのコンパイル
    1. SDL-1.2.15.zip を任意の場所に展開します。
      この例では、D:\ に展開し、D:\SDL-1.2.15 が得られたとします。

    2. D:\SDL-1.2.15\VisualC\SDL.sln をVisual Studioで開きます。
      コンフィグレーションをRelease, x64などと設定し、SDL, SDLmainをビルドします。

    3. コンパイルされたdll,libと、includeファイルを任意の場所に配置します。
      この例では、D:\SDL に配置することとします。

      D:\SDL を作成し、D:\SDL-1.2.15\include をフォルダごとコピーします。
      続いて、D:\SDL-1.2.15\VisualC\x64\Release より、SDL.lib を D:\SDL\lib に
      D:\SDL-1.2.15\VisualC\SDLmain\x64\Release より、SDLmain.lib を D:\SDL\lib に
      D:\SDL-1.2.15\VisualC\SDL\Release より、SDL.dll をD:\SDL にコピーします。

    4. 配置完了したディレクトリ構成

      D:\SDL

      • SDL.dll
      • include\
      • lib\
        • SDL.lib
        • SDLmain.lib
    5. sdl-config を以下の内容で作成し、C:\MSYS\1.0\bin に配置します。

      #! /bin/sh
      
      SDL_MAJOR_VERSION=1
      SDL_MINOR_VERSION=2
      SDL_MICRO_VERSION=15
      
      includedir='D:\\\\SDL\\\\include'
      SDL_CFLAGS=
      libdir='D:\\\\SDL\\\\lib'
      SDL_RLD_FLAGS=
      SDL_LIBS="-lSDL -lSDLmain"
      SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
      
      while test $# -gt 0; do
      	case $1 in
          --cflags)
            echo -I"${includedir}" ${SDL_CFLAGS}
            ;;
          --libs)
            echo /LIBPATH:${libdir} ${SDL_RLD_FLAGS} ${SDL_LIBS}
            ;;
          --version)
            echo ${SDL_VERSION}
            ;;
      	esac
      	shift
      done
      

  7. (option)pr.exeの配置
  8. FFmpegのconfigureでエラーが報告されるので、気になる場合は、 coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 をダウンロードし、
    展開して、pr.exeを取り出し c:\MSYS\1.0\bin に配置してください。
    なくてもコンパイルは通ります。

  9. FFmpegのコンパイル
    1. ffmpeg-3.1.3.tar.bz2 を任意の場所に展開します。
      この例では、D:\ に展開し、D:\ffmpeg-3.1.3 が得られたとします。

    2. VS2015 x64 Native Tools Command Prompt を開きます。
      スタートメニューのVisual Studio 20015 の下にあります。

    3. 環境設定をし、MSYSのbashのシェルに入ります。

      C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC> d:
      
      D:\> cd ffmpeg-3.1.3
      
      D:\ffmpeg-3.1.3> path=%path%;c:\msys\1.0\bin
      
      D:\ffmpeg-3.1.3> bash
      bash-3.1$
      

    4. bashシェルで、コンパイルを行います。

      bash-3.1$ ./configure --toolchain=msvc
      bash-3.1$ make
      
      configureに1-2分、makeに10分程度かかります。

    5. D:\ffmpeg-3.1.3\ffmpeg.exe ができていればokです。
      任意の場所に配置し、D:\SDL\SDL.dll も同じ場所に配置すれば実行できます。