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

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

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
二、安装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);
}




CMS100源码是国内老牌源码下载站,持续分享网站源码、游戏源码、小程序源码、app源码、各类主题模板及视频教程等。

联系我们 订单查询