音声ファイルを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
準備
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が追加されているか確認
ライブラリのパスの設定
追加したライブラリが正しく読み込まれるように、パスを追加する
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