飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

CENTOS 6.5安装ffpmeg和 ffmpeg-php 扩展(LNMPA)的方法

Author:飘易 Source:飘易
Categories:Linux技术 PostTime:2016-10-12 16:26:38
正 文:

ffmpeg是一种非常强大的多媒体处理插件。linux下没有默认集成,我们需要手动安装。

本文的环境:Centos 6.5 64位,LNMPA 1.2。

为了快速安装,我们直接采用yum安装的方法。


一、安装ffmpeg

由于ffmpeg不在yum默认源中,我们需要手工新建文件 dag.repo 放在 /etc/yum.repos.d/ 目录下,文件内容为:

[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=0
enabled=1


快速安装 ffmpeg:

yum install ffmpeg ffmpeg-devel


测试:


二、安装 ffmpeg-php 扩展

wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
tar -xjf ffmpeg-0.6.0.tbz2
cd ffmpeg-0.6.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

返回类似下面信息:

Build complete.
Don't forget to run 'make test'.
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/


表明安装成功了。


【错误1:】

如果在make 中发现错误提示:make: *** [ffmpeg_frame.lo] Error 1,是因为缺少ffmpeg_frame.lo文件,执行:
mv ffmpeg_frame.loT ffmpeg_frame.lo


【错误2:】

检查是否正常:

php -r 'phpinfo();' | grep ffmpeg

如果出错提示:

php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ffmpeg.so: undefined symbol: register_ffmpeg_frame_class

进一步检测:

nm /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ffmpeg.so|grep register_ffmpeg_frame_class
#输出U register_ffmpeg_frame_class

则修改 ffmpeg_frame.c,将共3处的 PIX_FMT_RGBA32 更改为 PIX_FMT_RGB32 即可。

然后重新编译:

cd ffmpeg-0.6.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install


三、配置php扩展
/usr/local/php/etc/php.ini 添加扩展:


extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ffmpeg.so


重启apache,可以在phpinfo里看到:

至此,ffmpeg php扩展安装成功。


四、PHP代码里运行

$folder=dirname(__FILE__);
$source=$folder."/1.amr";
$target=$folder."/1.mp3";
$res = shell_exec("ffmpeg -i $source $target 2>&1");
var_dump($res);



参考:

1、在CentOS上编译安装FFmpeg:http://www.yaosansi.com/post/ffmpeg-on-centos/

2、LNMPA安装PHP fileinfo 扩展模块

3、ffmpeg ffmpeg-php 安装及出错解决办法

作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:linux下使用rsync同步不同服务器上数据
下一篇:Gitlab或者GitHub利用webhook实现push时项目自动部署
1条评论 “CENTOS 6.5安装ffpmeg和 ffmpeg-php 扩展(LNMPA)的方法”
1 wewe
2018-11-2 0:40:40
/usr/local/php/bin/phpize 不存在
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有