centos ffmpegインストール

音声ファイルを3gppからmp3へ変換したいので調査しました。

FFmpegを使うことで変換が可能とのこと。かなり有名らしいが、まった無知でした。

 

FFmpegとは

http://ja.wikipedia.org/wiki/FFmpeg

FFmpeg(エフエフエムペグ)は動画と音声を変換することのできるUNIX系OS生まれのフリーソフトウェアであり、libavcodec(動画/音声のコーデックライブラリ)、libavformat(動画/音声のコンテナライブラリ)、libswscale(色空間・サイズ変換ライブラリ)、libavfilter(動画のフィルタリングライブラリ)などを含む。ライセンスはコンパイル時のオプションによりLGPLかGPLに決定される。コマンドラインから使用することができる。対応コーデックが多く、多彩なオプションを使用可能なため、幅広く利用されている。

 

参考サイト

http://d.hatena.ne.jp/kt_hiro/20150101/1420094609

http://tech.ckme.co.jp/ffmpeg.shtml

http://www.xucker.jpn.org/product/ffmpeg_commands.html

http://qiita.com/RyoIkarashi/items/48419f71f15f97c46123

http://www.phppro.jp/phptips/archives/vol50/2

http://blog.asial.co.jp/1315

 

準備

yum groupinstall "Development Tools" "Development Libraries"

 

yasm のインストール(x264 のビルドに必要)

cd /usr/local/src
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zvxf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install

 

x264 のインストール(ffmpeg のビルドに必要)

cd /usr/local/src
git clone git://git.videolan.org/x264
cd x264
./configure --enable-shared
make
make install

 

fdk-aac のインストール(fdk-aac を使うなら入れる)

ソースを下記からダウンロード
http://sourceforge.net/projects/opencore-amr/files/fdk-aac/

cd /usr/local/src
tar xzf fdk-aac-0.1.3.tar.gz
cd fdk-aac-0.1.3
./configure
make
make install

 

ffmpeg のインストール

cd /usr/local/src
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-libx264
make
make install

 

変換のテスト実行

ffmpeg -i input_text.3ggp output_text.mp3

 

ffmpeg-phpに必要なパッケージのインストール

yum install rec2 php-devel ffmpeg-libpostproc</pre>

 

ffmpeg-phpのインストール

phpからffmpegの機能の一部を使用できるffmpeg-phpをインストール

git clone https://github.com/tony2001/ffmpeg-php.git
cd ffmpeg-php
phpize
./configure --prefix=/usr/local --enable-skip-gd-check
make
sudo make install

 

ffmpeg.soモジュールの組み込み

ffmpeg.iniがないので同フォルダにある適当なiniをコピーし、編集する (今回はgd.iniをコピーした)

cd /etc/php.d
sudo cp gd.ini ffmpeg.ini

 

ffmpeg.iniを編集

gdとなっている部分をffmpegと置き換える

Enable ffmpeg extension module
extension=ffmpeg.so

 

組み込み確認

php -m でffmpegが追加されているか確認

ffmpeg

 

 

ライブラリのパスの設定

追加したライブラリが正しく読み込まれるように、パスを追加する

vim /etc/ld.so.conf
ld.so.confの中身を以下のように修正
include ld.so.conf.d/*.conf
/usr/local/lib

 

ld.so.confを更新したら、ld.so.cacheを更新する必要があるので、下記のコマンドを入力する

ldconfig

 

これで、ld.so.confの変更が、ld.so.cacheにも適用される
Apacheの再起動

service httpd restart

 

phpinfoでffmpegが確認できればOK