データセンターダイレクト 紹介資料ダウンロード

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:

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes