環境: 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