您的位置:首页 > 运维架构 > Linux

Install FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin

2016-01-06 19:16 1026 查看

Install FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin

1 year ago - by Daniel - howto centos virtualmin ffmpeg ffmpeg-php

The other day I was requested to set-up few requirements for a client such as
mod_rewrite
,
GD library
,
PHP Dom
,
bcmath
etc.. and among these in the list there was the
FFMPEG
library and the
FFMPEG-PHP
extension. OK, no big deal, but this box has CentOS 6 (RHEL6) with
Virtualmin/Webmin
set-up on top of it using the base repositories only, so let's do it I said...

ok, I took the following steps in order to install and set-up FFMPEG and FFMPEG-PHP in CentOS 6 with Virtualmin

Update the system

Install Development Tools

Protect base repositories

Add dag's repository

Install FFMPEG

Install FFMPEG-PHP

Load FFMPEG-PHP extension

1. Make sure the CentOS 6 system is fully up-to-date

yum update


2. Install Development Tools

yum groupinstall "Development tools"


3. Protect the base repositories so the packages don't get updated by the unprotected ones

Install the ProtectBase
yum plugin
by

yum install yum-protectbase

and then navigate to
/etc/yum.repos.d


cd /etc/yum.repos.d/

before doing any changes to the repositories, always do backup of the original ones.

cp -prv ../yum.repos.d{,.orig}

in order for a repository to be protected, a line
protect=1
needs to be added to each repository section in
CentOS-Base.repo
,
CentOS-Media.repo
and
virtualmin.repo
.

So, edit these files using your favourite editor or do the
sed
if you're feeling brave

sed -i '/gpgkey=/a\protect=1' CentOS-{Base,Media}.repo
sed -i '/gpgkey=/a\protect=1' virtualmin.repo


4. Add dag's repository by adding the following to
/etc/yum.repos.d/dag.repo


[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
enabled=1
protect=0

next import dag's rpm
gpg
key by

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


5. Proceed with installing FFMPEG and some development packages

yum install ffmpeg-devel php-devel re2c php-xml ffmpeg

verify
FFMPEG
is installed successfully by executing

ffmpeg

you should get something like

FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder


6. Compile and install the FFMPEG-PHP extension

mkdir /srv/build
cd /srv/build
wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 tar -xjf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0/

phpize
./configure

now run the following to prevent compilation failure with something like
ffmpeg_frame.c:421: error: ‘PIX_FMT_RGBA32’ undeclared (first use in this function)


sed -i 's#PIX_FMT_RGBA32#PIX_FMT_RGB32#' ./ffmpeg_frame.c

and compile and install using

make
make install

you should end up with something like

Installing shared extensions:     /usr/lib64/php/modules/


7. Load the FFMPEG-PHP extension and reload Apache

echo -e "extension=ffmpeg.so\n" > /etc/php.d/ffmpeg.ini

restart the webserver by

/etc/init.d/httpd restart

verify that the
FFMPEG-PHP
extension is loaded

php -i | grep ffmpegphp -m | grep ffmpeg
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: