個人的に最新リビジョンのffmpegをコンパイルしてみました。
Windows上で動作するstaticなffmpeg.exeを作ります。
その備忘録です。。。
■共通項目
外部ライブラリのコンパイル共通項目として、コンパイル生成場所をstatic2(実パスは"C:\msys\1.0\static2")にします。
具体的には、configureに必ず"--prefix=/static2"を付与します。
■x264
x264はx264 - a free h264/avc encoderからダウンロードできます。
daily tarballからftpダウンロードします。
・x264-snapshot-20070720-2245.tar.bz2をダウンロードします
※とりあえずこちらに置いておきます。。。
↑PROFILE_BASELINEを有効にしてあります。(携帯向け動画変換に対応するためです)
MSYSを起動して以下を実行します。
$ tar xjpf x264-snapshot-20070720-2245.tar.bz2
$ cd x264-snapshot-20070720-2245
$ ./configure --prefix=/static2
$ make
$ make install
[コンパイル参考リンク]
・ffmpeg_wikiさんのx264が詳しいです(英語です)
■xvidcore
xvidはXvid.org: Downloadsからダウンロードできます。
Xvid 1.1.3 stable releaseから
・xvidcore-1.1.3.tar.gzをダウンロードします
※とりあえずこちらに置いておきます。。。
MSYSを起動して以下を実行します。
$ tar zxfv xvidcore-1.1.3.tar.gz
$ cd xvidcore-1.1.3/build/generic
$ ./bootstrap.sh
$ ./configure --prefix=/static2 --enable-static --disable-shared
$ make
$ make install
$ mv /static2/lib/xvidcore.a /static2/lib/libxvidcore.a
[インストール参考リンク]
・ffmpeg_wikiさんのxvidcoreが詳しいです(英語です)
■amr_nb
以下のURLからAMRの音声コーデックをダウンロードします。
http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26204-520.zip
http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26073-530.zip
http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26204-520.zip
今回はnb(narrowband)しか使わないので、26104-540.zipを解凍、
さらに、26104-540_ANSI_C_source_code.zipを解凍して、
c-codeディレクトリを取り出します。
c-codeをamr_floatにリネームしておきます。
amr_nbはftp.penguin.czからダウンロードできます。
中段のamrnb-6.1.0.4.tar.bz2から
・amrnb-6.1.0.4.tar.bz2をダウンロードします
※とりあえずこちらに置いておきます。。。
makeする時に、26104-610.zipをwgetしようとするので、proxy環境では調整が必要です。
また、デフォルトのMakefileではcygwinのwgetを使用するので、別途cygwinの インストールが必要です。
以下をみればよくわかります。
[\amrnb-6.1.0.4\Makefile]
204行目
WGET = /c/cygwin/bin/wget
924〜925行目
26104-610.zip:
$(WGET) -N http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-610.zip
cygwinのwgetrcを修正します。(proxy環境でダウンロードする場合のみです)
[\cygwin\etc\wgetrc]
78行目
#http_proxy = http://proxy.yoyodyne.com:18023/
を使用環境のproxyに設定する
http_proxy = http://hoge.hoge.com:1234/
82行目
#use_proxy = on
を有効にする
use_proxy = on
proxy認証がある場合は以下を追加
proxy_user = [userid]
proxy_password = [userpasswd]
ここにwgetrcのコマンドの詳細があります。
MSYSを起動して以下を実行します。
$ tar xjpf amrnb-6.1.0.4.tar.tar
$ cd amrnb-6.1.0.4
$ ./configure --prefix=/static2 --enable-static --disable-shared
$ make
$ make install
[インストール参考リンク]
・ffmpeg_wikiさんのamr_nbが詳しいです(英語です)
これで外部ライブラリの準備が整いました。
次回はやっとこさffmpeg本番コンパイルです。
ではまたね。