院生エンジニアのにっき

  • Change style to Blue
  • Change style to Red
  • Change style to Green
  • Change style to Pink

FFmpegのインストール   2008-03-13

現在作成中のプログラムに動画機能を付けるということでFFmpegについて調査中です。

インストールから色々ややこしかったのでメモしておきます。

FFmpegインストールまでのおおまかな流れ

  • インストールに必要なツールをインストールする
  • コーデックをインストールする
    • liba52(a52dec)、FAAD2、AMR-NB、lameのインストール
    • FAAD2をソースからインストール
    • AMR-WBをソースからインストール
    • x264をソースからインストール
    • xvidをソースからインストール
  • Subversionレポジトリから最新版FFmpegを入手→インストール

インストールに必要なツールをインストールする

FFmpegのインストールに際して、

  • gcc(ソースからコンパイルする)
  • automake,libtool(コンパイルの際に必要)
  • subversion(FFmpegの最新版を取得する)

が必要です。すでにインストールしている方は不要です。

yum -y install gcc
yum -y install subversion
yum -y install automake libtool

コーデックをインストールする

今回インストールするコーデックは以下の通りです

liba52(a52dec) ATSCA/52ストリーム用
FAAD2MPEG2,MPEG-4,AAC
FAACMPEG-4 リファレンスコード
AMR-NB(amrnb)3GPPなどの携帯電話向け音声変換
AMR-WB(amrwb)3GPPなどの携帯電話向け音声変換
lameMP3変換用
x264
xvid

lameまでのインストールで大体事足りますが、後々追加インストールするのも面倒なので代表的なコーデックをインストールしておきます。


liba52(a52dec)、FAAD2、AMR-NB、lameのインストール

yumを使えば簡単にインストールできます

yum -y install a52dec-devel faac-devel amrnb-devel lame-devel

次に説明するFAAD2もyumからインストールできますが、FFmpegインストール時にエラーとなってしまうのでソースからインストールします。


FAAD2をソースからインストール

MPEG2,MPEG-4,AACの利用に必要なコーデックです。

普通にソースからコンパイルしたら(AudioCoding.com - Downloadsよりダウンロードしたfaad2-2.6.1.tar.gz)ffmpegのconfigure時に

FAAD test failed.
If you think configure made a mistake, make sure you are using the latest
version from SVN.  If the latest version fails, report the problem to the
ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.

と出てしまうので、【全編】ffmpegのインストール(3gp→FLV変換可能) - Nobody is perfect.より

wget http://yosiwo.lowtech.ne.jp/app/faad2-15092004.tar.gz
tar xvzf ./faad2-15092004.tar.gz
mkdir faad2
mv ./faad2-15092004.tar.gz ./faad2
cd faad2
tar xvzf ./faad2-15092004.tar.gz
sh bootstrap
./configure
make
sudo make install

でインストール。

おそらくconfigure時に

configure.in:65: warning: underquoted definition of MY_CHECK_TYPEDEF_FROM_INCLUDE
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal

と出るので、faad2/configure.inの
65行目:AC_DEFUN(MY_CHECK_TYPEDEF_FROM_INCLUDE,
65行目:AC_DEFUN([MY_CHECK_TYPEDEF_FROM_INCLUDE],
変更して下さい


AMR-WBをソースからインストール

AMR Codec Libraries for GNU-Linuxより最新版を取得して下さい。

wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.2.tar.bz2
tar jxvf amrwb-7.0.0.2.tar.bz2
cd amrwb-7.0.0.2
./configure
make
su
make install

ちなみにAMRは「Adaptive Multi-Rate」の略で、3GPPによって標準的な音声符号化方式として採用され、第三世代携帯電話で表示させる際に必要である。WB、NBはそれぞれWide Band、Narrow Bandの略だそうです。


x264をソースからインストール

インストールにnasm(Netwide Assembler - Wikipedia)が必要なようなので、yumよりnasmをインストールしてからソースよりインストールします。

http://downloads.videolan.org/pub/videolan/x264/snapshots/より最新版を取得して下さい。

yum -y install nasm
wget http://downloads.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20080309-2245.tar.bz2
bzip2 -dc ./x264-snapshot-20080309-2245.tar.bz2 | tar xvf -
cd x264-snapshot-20080309-2245
./configure  --enable-pthread --enable-shared
make
sudo make install

xvidをソースからインストール

Xvid.org: Home of the Xvid Codecの上部にある「get the latest Xvid source code」より最新版を取得して下さい

wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
tar xvzf ./xvidcore-1.1.3.tar.gz
cd xvidcore-1.1.3/build/generic
./configure
make
sudo make install

Subversionレポジトリから最新版FFmpegを入手→インストール

コーデックのインストールが全て完了したら後はSubversionよりFFmpegのソースを取得してインストールするだけです。

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-libmp3lame --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libfaac --enable-libfaad --enable-libx264 --enable-liba52 --enable-shared --enable-nonfree
make
make install

執筆時の段階でリビジョンは26206でした。


以上の通りでインストールすることが出来るかと思います。

参考にしたサイト


コメントを書く