环境: CentOS 6.5 PHP5.6 安装前php 已加载GD 模块(yum install php-gd)
1、添加ffmpeg和ffmpeg-devel源
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=1
enabled=1
EOF
导入签名认证
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.rpm
2、安装ffmpeg
yum install ffmpeg ffmpeg-devel
#ffmpeg -version
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
FFmpeg 0.6.5
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
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 ffmpeg
ffmpeg