centos安装ffmpeg-php处理视频资源

来源:互联网 发布:行知教育集团 编辑:程序博客网 时间:2024/06/11 05:56

如果是php7的话就别看了,暂时还没支持php7.最多支持到php5.6。

把项目脚本中报错的一行注释掉,引起的原因貌似是php7重写了一些东西,这里通不过了。注释掉那个报错脚本里报错的行,目前暂时没有出现问题。

环境为centos7,一顿yum安装。先装上repo源,目前ffmpeg的软件版本为2.6.8
ffmpeg是软件,ffmpeg-php是php的扩展

sudo rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

然后开始安装软件和扩展工具

yum install ffmpeg ffmpeg-php -y

安装完后下载ffmpeg-php扩展,目前有几种方法,直接下载包,解压,或者用git克隆文件。
目前最新扩展版本是0.6.以下是文件地址

https://jaist.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2

推荐使用git

git clone https://github.com/tony2001/ffmpeg-php.git

进入下载的文件夹,然后通过phpize安装扩展

cd ffmpeg-php
phpize
./configure
make
make install

安装完在php.ini加入ffmpeg.so

extension=ffmpeg.so

重启php-fpm
具体用法不再说明,自行谷歌。

安装过程中可能遇到的问题
1. configure: error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the –enable-shared option
解决方法:确认安装了ffmpeg-devel,然后把ffmpeg软件的include路径下的文件复制到/usr/incelude/
不知道软件的incelude路径可以在命令行输入 ffmpeg 来看 config。里边有。复制命令如下

cp -r /usr/include/ffmpeg/* /usr/include/

2.implicit declaration of function ‘avcodec_init’

解决方法:低版本ffmpeg-php扩展导致的编译bug,使用git源下载该扩展即可解决,git clone 出现内存溢出等问题,不在此说明。

原创粉丝点击