美文网首页
php获取视频缩略图

php获取视频缩略图

作者: 斯内克si | 来源:发表于2019-06-27 15:58 被阅读0次

    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); //删除旧目录下的文件
    
    

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

    相关文章

      网友评论

          本文标题:php获取视频缩略图

          本文链接:https://www.haomeiwen.com/subject/cdurcctx.html