12月 20
オープンソースのFLVプレイヤーであるFlowplayerを使う機会があり、どうせならFLVへの変換もサーバ上でやってしまえ!と変換アプリを作ったのに、CentOSのffmpegは3gp(AMR)に対応していませんでした。Debianのは普通に対応していました・・・。@msmです。
CentOS4の環境でffmpegを再コンパイルし、3gp→Flv変換ができるようにしてみたところ、思った以上に時間がかかりましたので備忘録を兼ねて纏めてみます。
1、rpmforgeの設定
以下の方法でYUMにてrpmforgeレポジトリを利用できるようにします。
# cd /tmp # wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm # rpm -Uhv rpmforge-release-0.3.6-1.el4.rf.i386.rpm # wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt # rpm --import RPM-GPG-KEY.dag.txt
常用はしないのでenableを0に設定します。
# vi /etc/yum.repos.d/rpmforge.repo
enabled = 1
↓
enabled = 0
2、ffmpegのインストール
YUMにてffmpegをインストールします。
yum install -y ffmpeg --enablerepo=rpmforge
# ffmpeg --formats FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2006 Fabrice Bellard, et al. configuration: --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man --incdir=/usr/include/ffmpeg --enable-mp3lame --enable-libogg --enable-vorbis --enable-faad --enable-faac --enable-libgsm --enable-xvid --enable-x264 --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-shared --enable-pthreads --enable-gpl --disable-strip libavutil version: 49.1.0 libavcodec version: 51.28.0 libavformat version: 51.7.0 built on Jun 4 2007 14:31:26, gcc: 3.4.6 20060404 (Red Hat 3.4.6-8) ffmpeg: missing argument for option '--formats'
冒頭に記載したように、このffmpegは3gp→Flv変換が出来ません。3gp→Flv変換が出来ない理由はamrというオーディオコーデックがサポートされていない事に原因があります。
3、AMRのインストール
amr-nbと、amr-wbをソースからrpmを作成しインストールします。
rpmbuildやgccが入ってない場合はyumでインストールします。
# yum install -y rpm-build gcc
tarボールからRPMファイルを作成します。
$ mkdir rpm
$ cd rpm
$ mkdir {BUILD,SRPMS,SPECS,SOURCES,RPMS}
$ echo "%_topdir /home/username/rpm" > ~/.rpmmacros
$ wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.0.tar.bz2
$ rpmbuild -ta amrnb-7.0.0.0.tar.bz2
$ wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.2.tar.bz2
$ rpmbuild -ta amrwb-7.0.0.2.tar.bz2
生成されたamr*.rpmをインストールします。
# rpm -Uvh /home/username/rpm/RPMS/i386/amr*.rpm
4、ソースの取得とffmpeg.specの設定
ffmpegはDAGからsrc.rpmを入手し、コンパイルします。
$ wget http://dag.wieers.com/rpm/packages/ffmpeg/ffmpeg-0.4.9-0.9.20070530.rf.src.rpm
展開します
$ rpm -iiv ffmpeg-0.4.9-0.9.20070530.rf.src.rpm
「ffmpeg.spec」ファイルの「./configure」配下にある以下の箇所を変更します。
$ vi rpm/SPECS/ffmpeg.spec
--disable-strip
--enable-libamr-nb ←追加する
--enable-libamr-wb ←追加する
--disable-strip
長くなりましたので次へ(後編へ)。
投稿者: @msm
Trackback URL:


