php获取视频缩略图

2019-06-27  本文已影响0人  斯内克si

1.linux服务器

2.php版本7.2.18

3.thinkphp框架5.1.37

4.使用软件FFmpeg(20190624最新版)

1)FFmpeg 官网[https://ffmpeg.org/download.html](https://ffmpeg.org/download.html)

2)下载地址[https://johnvansickle.com/ffmpeg/](https://johnvansickle.com/ffmpeg/)
image

根据自己需求选择,下载后上传到服务器,或复制下载地址使用wget命令直接下载


ffmpeg-git-amd64-static.tar.xz//下载的文件

使用xz命令解压


xz -d ffmpeg-git-amd64-static.tar.xz

解压后得到.tar文件,使用tar命令解压


ffmpeg-git-amd64-static.tar

tar -zxvf ffmpeg-git-amd64-static.tar

将解压后的文件移动到自己设置的目录以备后用——linux安装ffmpeg完成

thinkphp安装php-ffmpeg扩展(使用composer安装)


composer require php-ffmpeg/php-ffmpeg

安装后,在自己使用的控制器里引入


use FFMpeg\FFMpeg;

use FFMpeg\Coordinate\TimeCode;

使用代码


$ffmpeg = FFMpeg::create(array(

    'ffmpeg.binaries'  => '/opt/ffmpeg/ffmpeg',//服务器ffmpeg安装路径下的文件

    'ffprobe.binaries' => '/opt/ffmpeg/ffprobe'//服务器ffmpeg安装路径下的文件

));

$videoname = config('kj_url')."/uploads/video/".$info->getSaveName();//视频地址

$video = $ffmpeg->open($videoname);

$frame = $video->frame(TimeCode::fromSeconds(1));//获取第几帧

$filename = time().".jpg";//获取图片命名

$frame->save($filename);//获取图片

$dirname = date("Ymd");//设置日期文件夹

if (!is_dir("uploads/video/img/$dirname")){//是否已有文件夹

    mkdir("uploads/video/img/$dirname");//没有则新建文件夹

}

copy($filename,"uploads/video/img/$dirname/$filename"); //拷贝到新目录

unlink($filename); //删除旧目录下的文件

移动图片位置时注意文件权限问题

上一篇 下一篇

猜你喜欢

热点阅读