PHP使用FFmpeg获取视频封面图
2020-11-02 本文已影响0人
无聊的电风扇
composer安装
composer require php-ffmpeg/php-ffmpeg
use FFMpeg\FFMpeg;
use FFMpeg\Coordinate\TimeCode;
文件安装目录,PHP大概率无权访问,需修改php.ini
open_basedir=abc.com/:/tmp/:/proc/:/usr/local/bin/ffprobe:/usr/local/bin/ffmpeg
private function GetCoveImg($path = ''){
if($path == ''){
return;
}
$ffmpeg = FFMpeg::create(array(
//程序安装目录,不加可能会无法运行
'ffmpeg.binaries' => '/usr/local/bin/ffmpeg',
'ffprobe.binaries' => '/usr/local/bin/ffprobe'
));
$videoname = $path;//视频地址
$video = $ffmpeg->open($videoname);
$frame = $video->frame(TimeCode::fromSeconds(1));//获取第几帧
$filename = time().".jpg";//获取图片命名
$frame->save($filename);//获取图片
$dirname = date("Ymd");//设置日期文件夹
if (!is_dir("upload/video/img/$dirname")){//是否已有文件夹
mkdir("upload/video/img/$dirname");//没有则新建文件夹
}
copy($filename,"upload/video/img/$dirname/$filename"); //拷贝到新目录
$newpath = "upload/video/img/$dirname/$filename";
$url = $this->GetUrl();
return $url.'/'.$newpath;
}