安装php ffmpeg扩展的方法:首先添加“ffmpeg”和“ffmpeg-devel”源;然后下载“ffmpeg-fpm-0.6.0”并安装;最后添加PHP配置文件即可。
安装php扩展 ffmpeg-php
环境: CentOS 6.5 PHP5.6 安装前php 已加载GD 模块(yum install php-gd)
1、添加ffmpeg和ffmpeg-devel源
推荐:《PHP教程》
cat > /etc/yum.repos.d/dag.repo <<EOF [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://www.mirrorservice.org/sites/apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1enabled=1EOF
导入签名认证
rpm --import http://www.mirrorservice.org/sites/apt.sw.be/RPM-GPG-KEY.dag.txt rpm -ivh http://www.mirrorservice.org/sites/apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm2、安装ffmpeg
yum install ffmpeg ffmpeg-devel
#0.6.5, Copyright (c) 2000-2010 Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)=/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=50.15. 1 / 50.15. 152.72. 2 / 52.72. 252.64. 2 / 52.64. 252. 2. 0 / 52. 2. 01.19. 0 / 1.19. 00.11. 0 / 0.11. 051. 2. 0 / 51. 2. 00.6.550.15. 1 / 50.15. 152.72. 2 / 52.72. 252.64. 2 / 52.64. 252. 2. 0 / 52. 2. 01.19. 0 / 1.19. 00.11. 0 / 0.11. 051. 2. 0 / 51. 2. 0
3、下载 ffmpeg-fpm-0.6.0
svn co svn://svn.code.sf.net/p/ffmpeg-php/code/branches/ffmpeg-php/ffmpeg-php-0.6.0/ /usr/local/src/ffmpeg-php-0.6.0
4、安装
cd /usr/local/src/ffmpeg-php-0.6.0
/usr/bin/phpize
./configure –enable-skip-gd-check (不启用此选项的话 安装完会显示 ffmpeg-php gd support => disabled)
make
到这里会报错 ,如下
make: *** [ffmpeg_movie.lo] 错误 1
解决办法:
vim ffmpeg_movie.c
row 311: list_entry *le; 改为zend_rsrc_list_entry *le;
row 346: list_entry new_le;改为 zend_rsrc_list_entry new_le;
row 360: hashkey_length+1, (void *)&new_le, sizeof(list_entry),改为hashkey_length+1, (void *)&new_le,sizeof(zend_rsrc_list_entry),
重新make
报错如下:
解决办法:
sed -i 's/PIX_FMT_RGBA32/PIX_FMT_RGB32/g' ffmpeg_frame.c
重新make
make install
#make install Installing shared extensions: /usr/lib64/php/modules/
添加PHP配置文件
echo "extension = ffmpeg.so" /etc/php.d/50-ffmpeg.ini service php-fpm reload #php -m|grep ffmpegffmpeg