收藏小屋

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;
    }
上一篇下一篇

猜你喜欢

热点阅读