視頻截取某一幀的圖片
- 環(huán)境安裝 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拷貝至系統(tǒng)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;
}
參考參考