PHP上传视频时截取图片作为封面

目录

上传视频并在视频中截取一张图片作为封面,关键词ffmpeg,服务器是centos

1、升级系统

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

2、安装Nux Dextop Yum 源

  • 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
  • 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

image

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

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 # 安装

image

图所示,恭喜你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扩展已经安装好了

image

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);

}

大功告成!!!

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦