公開 2007-11-06 21:08 投稿者 mafactory
タグ

MinGW + MSYSを使った static版 ffmpegのコンパイル (その4-3:外部ライブラリのコンパイル [x264・xvidcore・amr_nb・etc] )

個人的に最新リビジョンの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本番コンパイルです。

ではまたね。

 

コメントの通知

この投稿にコメントが付いた場合にメールを受信するには、登録してください。ここ

また次のフィードから、お気に入りのRSSリーダーを使って最新の状態を知ることもできます。 コメントのRSSフィード

コメント

コメントはありません
どのような感想ですか?
(必須) 
(オプション)
(必須)