php视频处理(一)

视频截取某一帧的图片

  1. 环境安装 linux安装ffmpeg
# 下载压缩包
$wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz
# 下载对应的md5文件
$wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-i686-static.tar.xz.md5
# 验证压缩包的md5是否正确,防止文件损坏
$md5sum -c ffmpeg-release-i686-static.tar.xz.md5
# 解压
$tar xvf ffmpeg-release-i686-static.tar.xz
# 运行
$./ffmpeg-4.2.2-i686-static/ffmpeg
# 如果没问题,可以将ffmpeg拷贝至系统bin目录下
$mv ffmpeg-4.2.2-i686-static/ffmpeg ffmpeg-4.2.2-i686-static/ffprobe /usr/local/bin/

  1. composer安装相关包
$ composer require php-ffmpeg/php-ffmpeg

3.获取视频某张图

    /**
     * 获取视频的某一帧图片
     * 
     * @name    getVideoFrameOfImage
     */
    public static function getVideoFrameOfImage($resource, $second)
    {
        // 资源文件路径
        $fileInfo = pathinfo($resource);
        $fileNameNoSuffix = $fileInfo['filename'];
        $dirname = $fileInfo['dirname'];
        if (Config::get('app.ffmpeg')) {
            $ffmpeg = FFMpeg::create(Config::get('app.ffmpeg'));
        } else {
            $ffmpeg = FFMpeg::create();
        }

        $video = $ffmpeg->open($resource);
        $frameName = $dirname . '/' . $fileNameNoSuffix . '.jpg';
        $video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds($second))->save($frameName);

        return $frameName;
    }

参考参考

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容