PHP上传视频时截取图片作为封面,安装php-ffmpeg扩展

最近遇到了上传视频并在视频中截取一张图片作为封面的问题,于是乎各种百度,结果都是一个关键词ffmpeg。废话不多说,开整!我的服务器是centos,那么就以centos为例。

1、升级系统

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

 2、安装Nux Dextop Yum 源

1) CentOS 7

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

2) CentOS 6

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

3、安装FFmpeg 和 FFmpeg开发包

sudo yum install ffmpeg ffmpeg-devel -y

4、测试是否安装成功

ffmpeg

出现上图所示就安装成功了。

5、下载ffmpeg-php扩展并编译安装

git clone https://github.com/nilsringersma/ffmpeg-php # 下载ffmpeg-php的相关文件 

cd ffmpeg-php # 转到 ffmpeg-php 的目录 
 
/www/server/php/56/bin/phpize # 运行 phpize --此目录为php安装目录
 
./configure --with-php-config=/www/server/php/56/bin/php-config --enable-skip-gd-check # 配置 
make # 编译 
 
make install # 安装 

出现上图所示,恭喜你PHP扩展安装成功

6、最后一步,在php.ini中引入扩展,将如下代码加入php.ini最下面保存即可,路径为上一步的路径

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

7、重启php-fpm,查看PHPinfo发现ffmpeg扩展已经安装好了

8、在php里的运用

function createVideoThumb($fileName,$dir,$file = null){

    $movie = new ffmpeg_movie($dir.'/'.$fileName);//这里就是视频的存储路径
    $ff_frame = $movie->getFrame(1);
    $gd_image = $ff_frame->toGDImage();

    $filenames =substr($fileName,0,strrpos($fileName,'.')); 
    $img="./upload/".$filenames."_video.jpg";//存图片的路径
    imagejpeg($gd_image, $img);
    imagedestroy($gd_image);

}

大功告成!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值