在centos 5.4环境下安装 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 - 安装ffmpeg
tar -xjf ffmpeg-export-snapshot.tar.bz2 #进入解压后的源文件目录 cd ffmpeg-export-2010-03-02/ ./configure --prefix=/usr/local --enable-shared make make install
测试是否能正常使用:
[root@mail ffmpeg-export-2010-03-02]# ffmpeg FFmpeg version SVN-r22144-snapshot, Copyright (c) 2000-2010 the FFmpeg developers built on Mar 30 2010 23:53:53 with gcc 4.1.2 20080704 (Red Hat 4.1.2-46) configuration: --prefix=/usr/local --enable-shared libavutil 50. 9. 0 / 50. 9. 0 libavcodec 52.55. 0 / 52.55. 0 libavformat 52.54. 0 / 52.54. 0 libavdevice 52. 2. 0 / 52. 2. 0 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”
vi /etc/ld.so.conf.d/ffmpeg.conf #在里面加入:usr/local/lib,这个目录,为ffmpeg安装后libavdevice.so.52等lib文件所在目录。 ldconfig -v
- 安装ffmpeg-php
tar -xjf ffmpeg-php-0.6.0.tbz2 cd ffmpeg-php-0.6.0 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-ffmpeg=/usr/local make test make make install #在php.ini中加入extension=ffmpeg.so
如果在make test中发现错误提示:make: *** [ffmpeg_frame.lo] Error 1
则:mv ffmpeg_frame.loT ffmpeg_frame.lo
测试是否安装成功:
php -r 'phpinfo();' | grep ffmpeg ffmpeg ffmpeg-php version => 0.6.0-svn ffmpeg-php built on => Mar 31 2010 14:17:14 ffmpeg-php gd support => enabled ffmpeg libavcodec version => Lavc52.55.0 ffmpeg libavformat version => Lavf52.54.0 ffmpeg swscaler version => SwS0.10.0 ffmpeg.allow_persistent => 0 => 0 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
nm /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so|grep register_ffmpeg_frame_class #输出U register_ffmpeg_frame_class
则修改ffmpeg_frame.c,将3处的PIX_FMT_RGBA32 更改为PIX_FMT_RGB32即可。
vi ffmpeg_frame.c :%s/PIX_FMT_RGBA32/PIX_FMT_RGB32 :w :q! ./configure --with-php-config=/usr/local/php/bin/php-config --with-ffmpeg=/usr/local make test make make install
非常感谢,多谢你的这篇文章,我的ffmpeg总算安装成功了! 略看了一下你的blog,以后还会继续细读
谢谢光临!
在linux下安装ffmpeg 及 ffmpeg-php,是因为我一个朋友问问视频网站怎么弄,于是让我想到了我有几个个人视频格式需要转换成flv的,于是动手安装了ffmpeg,顺便将fmpeg-php也安装了。
在安装 ffmpeg, ffmpeg-php 过程中,发现了几个小问题, 为了充分利用这个blog, 就记录在这儿了(以前都将技术相关的知识储存到个人gmail中,因为gmail检索功能很好)。记录这样更开放些,也有利于技术上互相交流。 ^_^