转载自:http://www.xinze.me/ffmpeg-ffmpeg-php-%E5%AE%89%E8%A3%85%E5%8F%8A%E5%87%BA%E9%94%99%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/
在Red Hat Enterprise Linux Server release 5.3 (Tikanga)环境下安装 FFMPEG 和 FFMPEG-PHP 。
- 下载ffmepg及ffmpeg-php
wget http://www.ffmpeg.org/releases/ffmpeg-export-snapshot.tar.bz2
wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2?use_mirror=ncu - 这两个链接没用了 直接上官网下载吧:http://www.ffmpeg.org http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php
- 安装ffmpeg
1
tar
-xjf ffmpeg-
export
-snapshot.
tar
.bz2
2
#进入解压后的源文件目录
3
cd
ffmpeg-
export
-2010-03-02/
4
./configure --prefix=/usr/
local
--
enable
-shared
5
make
6
make
install
测试是否能正常使用:
1
[root@mail ffmpeg-
export
-2010-03-02]
# ffmpeg
2
FFmpeg version SVN-r22144-snapshot, Copyright (c) 2000-2010 the FFmpeg developers
3
built on Mar 30 2010 23:53:53 with gcc 4.1.2 20080704 (Red Hat 4.1.2-46)
4
configuration: --prefix=/usr/
local
--
enable
-shared
5
libavutil 50. 9. 0 / 50. 9. 0
6
libavcodec 52.55. 0 / 52.55. 0
7
libavformat 52.54. 0 / 52.54. 0
8
libavdevice 52. 2. 0 / 52. 2. 0
9
libswscale 0.10. 0 / 0.10. 0
如果提示:“ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory”
1
vi
/etc/ld.so.conf.d/ffmpeg.conf
2
#在里面加入:usr/local/lib,这个目录,为ffmpeg安装后libavdevice.so.52等lib文件所在目录。
3
ldconfig -
v
- 安装ffmpeg-php
1
tar
-xjf ffmpeg-php-0.6.0.tbz2
2
cd
ffmpeg-php-0.6.0
3
/usr/
local
/php/bin/phpize
4
./configure --with-php-config=/usr/
local
/php/bin/php-config --with-ffmpeg=/usr/
local
5
make
test
6
make
7
make
install
8
#在php.ini中加入extension=ffmpeg.so
如果在make test中发现错误提示:make: *** [ffmpeg_frame.lo] Error 1
则:1
mv
ffmpeg_frame.loT ffmpeg_frame.lo
测试是否安装成功:
01
php -r
'phpinfo();'
|
grep
ffmpeg
02
ffmpeg
03
ffmpeg-php version => 0.6.0-svn
04
ffmpeg-php built on => Mar 31 2010 14:17:14
05
ffmpeg-php gd support => enabled
06
ffmpeg libavcodec version => Lavc52.55.0
07
ffmpeg libavformat version => Lavf52.54.0
08
ffmpeg swscaler version => SwS0.10.0
09
ffmpeg.allow_persistent => 0 => 0
10
ffmpeg.show_warnings => 0 => 0
如果有ffmepg-php模块错误提示:php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so: undefined symbol: register_ffmpeg_frame_class
1
nm /usr/
local
/php/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so|
grep
register_ffmpeg_frame_class
2
#输出U register_ffmpeg_frame_class
则修改ffmpeg_frame.c,将3处的PIX_FMT_RGBA32 更改为PIX_FMT_RGB32即可。
1
vi
ffmpeg_frame.c
2
:%s/PIX_FMT_RGBA32/PIX_FMT_RGB32
3
:w
4
:q!
5
./configure --with-php-config=/usr/
local
/php/bin/php-config --with-ffmpeg=/usr/
local
6
make
test
7
make
8
make
install