Linux(CentOS)にFFmpegをインストールしたメモ
動画をアップロードすると変換してくれるサーバーを作りたくて、LinuxにFFmpegを入れてみた。以下はその作業メモ。結構めんどくさかったし、いくつかハマった。
今回の環境は、かなり最小構成でインストールしたCentOS 5.2。gccとかは入ってる。
LAME
いきなりハマるポイントがこのLAME。現時点で配布されてるソースコードの最新版は3.98.2なんだけど、これをFFmpegで使うと、
lame: output buffer too small
のエラーになる。なので、まだパッケージで配布されてない開発中のソースコードをcvsから取ってきてそれをコンパイルする。これだとエラーにならなかった。
# cd /usr/local/src # cvs -d:pserver:anonymous@lame.cvs.sourceforge.net:/cvsroot/lame login (パスワードを聞かれるので、そのままenter) # cvs -z3 -d:pserver:anonymous@lame.cvs.sourceforge.net:/cvsroot/lame co -P lame # cd lame # ./configure # make # make install
つまりcvs版ではもうこの問題は直ってるので、次に配布されるバージョンからはもう大丈夫な可能性が高い。これをあなたが読んでる時点で、配布されているコードが3.98.2よりも新しいものだったら、普通にwgetで入手してmakeすれば良いんじゃないかと思う。
OpenCORE-AMR
そして次のこのAMRもハマった。Webで調べた情報では、amrnbとamrwbを入れるような説明が多くあったけど、最新のFFmpegはそれではなくてOpenCORE-AMRの方を使うのが良いようだった。なのでそっちを入れる。
まず、http://sourceforge.net/projects/opencore-amr/で最新版のURLをメモっておく。
# cd /usr/local/src # wget (メモったURL) # tar zxf opencore-amr-0.1.2.tar.gz # cd opencore-amr-0.1.2 # ./configure # make # make install
FAAC / FAAD2
最初にhttp://www.audiocoding.com/downloads.htmlでダウンロード用のURLをメモっておく。今回はtar.gzにした。
# cd /usr/local/src # wget (メモったFAACのURL) # tar zxf faac-1.28.tar.gz # cd faac-1.28 # ./configure # make # make install
# cd /usr/local/src # wget (メモったFAAD2のURL) # tar zxf faad2-2.7.tar.gz # cd faad2-2.7 # ./configure # make # make install
x264
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/でダウンロード先のURLをメモっておく。毎晩新しくなっていて、どれを選んでいいかわからないので、とりあえず一番新しいやつにした。
# cd /usr/local/src # wget (メモったURL) # tar jxf x264-snapshot-20091216-2245.tar.bz2 # cd x264-snapshot-20091216-2245 # ./configure --enable-pthread --enable-shared --disable-asm # make # make install
Xvid
例によってhttp://www.xvid.org/Downloads.43.0.htmlでダウンロード先のURLをメモっておく。とりあえずtar.gzで。
# cd /usr/local/src # wget (メモったURL) # tar zxf xvidcore-1.2.2.tar.gz # cd xvidcore/build/generic # ./configure # make # make install
xvidcoreのディレクトリに入ってもソースがなくて一瞬あせったけど、build/genericの下にあった。
FFmpeg
いよいよ本体。yumでも入るらしいけどここまで来たのでソースから入れる。http://ffmpeg.org/download.htmlを開いて「bare sources」っていうリンクのURLをメモる。
# cd /usr/local/src # wget (メモったURL) # tar jxf ffmpeg-export-snapshop.tar.bz2 # cd ffmpeg-export-2009-12-15 # ./configure --enable-gpl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxvid --disable-ffplay --disable-ffserver --enable-libfaac --enable-libfaad --enable-libx264 --enable-shared --enable-nonfree --enable-version3 # make # make install
今回入れたライブラリ達もちゃんと使うような感じでコンパイルした。マシンスペックにもよるけど、自分の環境ではこのmakeは結構長かった。
利用のための準備
インストールは終わったけど、まだやることがある。
ライブラリのパス
まず、以下のファイルを編集する。
# vi /etc/ld.so.conf.d/local.conf
以下のように記入。
/usr/local/lib
次のコマンドを実行。
# ldconfig
正直、Linux初心者すぎて、上記の作業がなんなんだかわかんなかった。ググったらあちこちに書いてあったのでマネしただけ。
終わり
途中で結構ハマったけど、なんとか無事に終わって良かったー。ググりまくった。