@blog.justoneplanet.info

日々勉強

CentOSにffmpegをインストールしよう

■インストール環境

  1. CentOS 5.2
  2. システムは64bit版
  3. rootでログオン出来る

Pleskがインストールされていたが、yumはインストールされていないマシンでした。そこで、rpmの依存パッケージ地獄から脱する為にyumをインストールする事にした。

yumのインストール

最重要注意点

Pleskでサーバを管理してる方は、インストール後に「yum update」を実行してはならない!Pleskが死んでしまいます。

必要パッケージリスト
  • yum-3.0.5-1.el5.centos.5.noarch.rpm
  • yum-metadata-parser-1.0-8.fc6.x86_64.rpm
  • python-elementtree-1.2.6-5.x86_64.rpm
  • python-urlgrabber-3.1.0-2.noarch.rpm
  • python-sqlite-1.1.7-1.2.1.x86_64.rpm
  • m2crypto-0.16-6.el5.1.x86_64.rpm
  • rpm-python-4.4.2-47.el5.x86_64.rpm
  • python-iniparse-0.2.3-4.el5.noarch.rpm(依存関係の為)
実行コマンド
rpm -ivh yum-3.0.5-1.el5.centos.5.noarch.rpm
rpm -ivh yum-metadata-parser-1.0-8.fc6.x86_64.rpm
rpm -ivh python-elementtree-1.2.6-5.x86_64.rpm
rpm -ivh python-urlgrabber-3.1.0-2.noarch.rpm
rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm
rpm -ivh m2crypto-0.16-6.el5.1.x86_64.rpm
rpm -ivh rpm-python-4.4.2-47.el5.x86_64.rpm
rpm -ivh python-iniparse-0.2.3-4.el5.noarch.rpm

※上述のパッケージは既に最新でない可能性がある。

yum update yum
yum update python*
yum update m2crypto
yum update rpm-python
yum update python-iniparse
参考文献

以上で「yum」が使えるようになりました~!

■ffmpegのインストール

このままでは「yum」で「ffmpeg」がインストールできない。なので・・・

1.RPMforgeをrpmリポジトリに追加

追加する為に必要なパッケージをGET

wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

リポジトリに追加

rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

デフォルトでRPMforgeを使わないように変更

vi /etc/yum.repos.d/rpmforge.repo

で「enabled = 1」を「enabled = 0」と変更する。
今後、RPMforgeを対象に含める場合は「yum –enablerepo=rpmforge install ●●●」とする。

2.署名のインストール(一応)

wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt

3.ffmpegインストール実行コマンド

yum --enablerepo=rpmforge install ffmpeg
参考文献

■ffpmpeg-phpのインストール

PHPからffmpegを利用しない人は必要ない。

1.必要な環境を事前にインストール

yum install php-devel
yum install re2c
yum --enablerepo=rpmforge install ffmpeg-libpostproc
yum --enablerepo=rpmforge install ffmpeg-devel

2.ffmpeg-phpのインストール

wget http://nchc.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.3.1.tbz2
tar jxvf ffmpeg-php-0.5.3.1.tbz2
cd ffmpeg-php-0.5.3.1
phpize
./configure --enable-gpl --enable-libmp3lame --enable-libamr-nb --enable-libamr-wb --enable-libxvid --disable-ffplay --disable-ffserver --enable-libfaac --enable-libfaad --enable-libx264 --enable-shared --enable-nonfree
make
make install

エラー1

makeの途中でなんかエラーが出る。

/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:202: warning: implicit declaration of function 'img_convert'
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_crop_frame':
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:260: warning: implicit declaration of function 'img_copy'
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_resample_frame':
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: 'ImgReSampleContext' undeclared (first use in this function)
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: (Each undeclared identifier is reported only once
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: for each function it appears in.)
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: 'img_resample_ctx' undeclared (first use in this function)
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:308: warning: implicit declaration of function 'img_resample_full_init'
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:321: warning: implicit declaration of function 'img_resample'
/root/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:326: warning: implicit declaration of function 'img_resample_close'
make: *** [ffmpeg_frame.lo] エラー 1
解決策
cp ffmpeg_frame.loT ffmpeg_frame.lo
参考

3.phpへモジュールを関連付ける

以下のコマンドを実行し、mbstringの設定ファイルをコピーし、ffmpeg用にする。

cd /etc/php.d
cp mbstring.ini ffmpeg.ini

但し、コピーしただけでは設定の記述が古いファイルのままなので、「vi」コマンドで内容を修正する。

vi ffmpeg.ini

以下のように記述すれば良い。

; Enable ffmpeg extension module
extension=ffmpeg.so
4.再起動
/etc/rc.d/init.d/httpd restart

エラー2

phpでなんかエラーが出る。

undefined symbol: le_ffmpeg_frame in Unknown on line 0
解決策

どうやらPHP5.3系でffmpeg-php0.5系をインストールすると不具合が発生するようなので0.6系を使用してmakeからやり直すと前述のエラー1も発生せずにインストールが成功する。

参考

1件のコメント»

[…] の為にもffmpegをyumで入れ直して、どうなるか見てみることにする。インストール方法はこちらのブログを参照し、まずはRPMforgeをyumリポジトリに追加するためにrpmforgeをインストール。続い […]

RSS feed for comments on this post.TrackBack URL

Leave a comment