【Linux】FFMpegの再インストールでlibx264を有効に

前にFFMpegをインストールしましたが、FFMpegのバージョンも上がっていることだし再インストールしたときのメモ。環境はCentOS 5.2

コーデックのインストールは前の記事を参考に。

まず最新のffmpegをダウンロードしてきてconfigureしようとしたら怒られた。
--enable-liba52
のオプションがなくなったらしい。このオプションを削除してコンパイルしたら一応無事完了したけど、mp4のファイルを変換したときに大量のエラーが出力される。

とりあえずH.264のコーデックをインストールしてコンパイルしなおしてみた。

x264をコンパイルするために必要なツールをインストール。
$ yum install nasm yasm-devel

yasm-develがyumにない場合はRPMForgeを追加しとく。前の記事を参照。

x264はここからダウンロード。解凍してconfigure
$ tar xjvf x264-snapshot-20090224-2245.tar.bz2
$ cd x264-snapshot-20090224-2245
$ ./configure --enable-shared

Platform:    X86
System:     LINUX
asm:          yes
avis input:   no
mp4 output: yes
pthread:      yes
debug:        no
gprof:         no
PIC:           no
shared:       yes
visualize:     no

$ make
$ make install

これで/usr/local/libにlibx264.soがインストールされる。次はFFMpegにlibx264のオプションをつけてコンパイル。
$ ./configure --enable-libamr-nb --enable-libamr-wb --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libx264 --enable-gpl --enable-nonfree --enable-shared

$ make
$ make install

ライブラリの読み込み
$ ldconfig

これをしないと
cannot open shared object file: No such file or directory
と怒られる。

インストールは無事終わったけど、相変わらずMP4ファイルを変換するとエラーが出力される。こんな感じ

channel element 1.1 is not allocated
Error while decoding stream #0.1

今のFFMpegのバージョンだと駄目みたいなので(FFMpegのバグ?)、前のバージョンに戻すことに。こんなときvmwareのsnapshotの機能がとてもありがたい。