« AdobeFlashPlayerアップデートの設定 | トップページ | ffmpegのログをVCでリダイレクト »

FFmpegをx264入りで自前ビルド(MinGW使用)

ざっくりメモ。気が向いたらあとで修正。

スタティックなexeにしたかったので、とりあえずpthreadはぬきました。
本当は入れたいんだけど、どうしても生成したffmpeg.exeをWindowsコマンドプロンプトから起動すると「libpthread-2.dllをよこせ」とはじまるので、ぬいたのです!どうしたらいいのかだれか教えてください!

1.MinGW導入

よくわからんがAutoでインストールしてくれるやつのexe
http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/

MinGWをそのままデフォルトでインストールすると、c:\MinGWにインストールされてインストール時のHOMEディレクトリは、WindowsフォルダでいうとC:\MinGW\msys\1.0\home\になるみたい

2.yasm導入

ffmpegのコンパイル時に--disable-yasmできるけど、なんとなくいれておく
ソースコードをもらってきて任意の場所で展開後、展開したディレクトリで以下のコマンド。
./configure
make
make install

3.libx264導入

http://www.videolan.org/developers/x264.html

こちらもソースコードをもらってくる
ここから、好きなのをもらってくる
とりあえず最新(x264-snapshot-20101210-2245.tar.bz2)をもらってきた
また任意の場所で展開して、展開したディレクトリで以下のコマンド
./configure --disable-pthread  --enable-shared --prefix=/home/usr
make
make install

prefixをなぜつけたのかというと、普通にmake installしただけでは、この後のffmpegのビルド時にlibx264 not foundとか言われてしまったので、libx264の位置を教えてあげるためでした。
なんか他に手があるのかもしれんが、よくわからんどす!
きっとそういったパスを先に設定しておかなければならんのだと思うが。。。

4.ffmpeg導入

ソースコードをもらってくる

このままコンパイルするとstrcasecmpでエラーとなるバグがあるらしいので
こちらからパッチふたつほどいただいてきてあてましょう

リンク先より引用
> /mingw/include/string.h のパッチ。
> $ patch -p0 < strcasecmp.diff

> /mingw/include/stdio.h のパッチ。
> $ patch -p0 < tempnam.diff

パッチが終わったら、こちらも任意の場所で展開して、展開したディレクトリで以下コマンド
./configure --enable-gpl --disable-shared --enable-static --enable-memalign-hack --disable-pthreads --enable-libx264 --extra-cflags=-I/home/usr/include --extra-ldflags=-L/home/usr/lib

make
make install

3.でx264をconfigureしたときにつけたprefix位置を extra-cflagsとextra-ldflagsに指定
make installするとC:\MinGW\msys\1.0\local\binにexeができるので、windowsのコマンドプロンプトから確認できます。

TODO:  x264のプリセット?を含めてライブラリをつくりなおす

参考にさせていただいたサイト

 

※x264のconfigure部に  --enable-sharedを追記しました。
これをするとprefixを指定しなくてよくなります。

Nyancoさんありがとうございます!

« AdobeFlashPlayerアップデートの設定 | トップページ | ffmpegのログをVCでリダイレクト »

備忘録」カテゴリの記事

コメント

libx264の./configure ですが、同じ内容でハマリました。
libx264 not found が出る場合は

./configure --enable-shared で解決できました。

コメントありがとうございます!

試してみたところ問題なくコンパイルできました・・・。
ステキ情報ありがとうございます!
あとで記事を修正させていただきます。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1022502/38038242

この記事へのトラックバック一覧です: FFmpegをx264入りで自前ビルド(MinGW使用):

« AdobeFlashPlayerアップデートの設定 | トップページ | ffmpegのログをVCでリダイレクト »

最近のトラックバック

2017年2月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        
無料ブログはココログ