ffmpeg生成视频封面图

ffmpeg 是一个视频处理软件

php-ffmpeg 是一个让 php 可以操作 ffmpeg 的 php插件,封装好了各种操作视频的名命令。直接调用对应的方法即可。

  • 使用过程很曲折也很简单
  • 曲折在于一直想使用php-ffmpeg插件,各种尝试,最后失败,可能是该插件暂不支持php7.1(php5.x 的可以尝试下使用此插件)
  • 很简单在于放弃php-ffmpeg后,使用ffmpeg的原生命令,只需一条命令即可生成缩略图。
  • 下载安装ffmpeg,配置环境变量,即通过 ffmpeg -v 即可调用ffmpeg(如不配置,需要加上绝对路径)
- 使用过程只需一条命令,几个参数即可
- 不仅可以对视频也可以对图片生成缩略图,传入的文件名是图片即生成图片的缩略图。
/**
     * 获取视频封面图片,与视频在相同文件夹下
     * @param string $inFile 视频文件地址
     * @param int $time 截图的秒数
     * @param int $width 图片宽度
     * @param int $height 图片高度
     * @return string
     * User: LiZheng  271648298@qq.com
     * Date: 2019/10/12
     */
    public function getVideoCover($inFile, $time = 1, $width = 320, $height = 240)
    {
        //输出文件名
        $outFileName = substr($inFile, 0, strpos($inFile,'.')).'_cover.jpg';

        //运行命令
        $command = "ffmpeg -i " . $inFile . " -y -f image2 -t {$time} -s {$width}x{$height} " . $outFileName;
        system($command);

        return $outFileName;
    }
posted @ 2019-10-23 14:33  _Eternity味道  Views(3350)  Comments(0Edit  收藏  举报