视频截取某一帧的图片
- 环境安装 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/
-
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;
}
参考参考