1.linux服務(wù)器
2.php版本7.2.18
3.thinkphp框架5.1.37
4.使用軟件FFmpeg(20190624最新版)
1)FFmpeg 官網(wǎng)[https://ffmpeg.org/download.html](https://ffmpeg.org/download.html)
2)下載地址[https://johnvansickle.com/ffmpeg/](https://johnvansickle.com/ffmpeg/)

image
根據(jù)自己需求選擇,下載后上傳到服務(wù)器,或復(fù)制下載地址使用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
將解壓后的文件移動到自己設(shè)置的目錄以備后用——linux安裝ffmpeg完成
thinkphp安裝php-ffmpeg擴(kuò)展(使用composer安裝)
composer require php-ffmpeg/php-ffmpeg
安裝后,在自己使用的控制器里引入
use FFMpeg\FFMpeg;
use FFMpeg\Coordinate\TimeCode;
使用代碼
$ffmpeg = FFMpeg::create(array(
'ffmpeg.binaries' => '/opt/ffmpeg/ffmpeg',//服務(wù)器ffmpeg安裝路徑下的文件
'ffprobe.binaries' => '/opt/ffmpeg/ffprobe'//服務(wù)器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");//設(shè)置日期文件夾
if (!is_dir("uploads/video/img/$dirname")){//是否已有文件夾
mkdir("uploads/video/img/$dirname");//沒有則新建文件夾
}
copy($filename,"uploads/video/img/$dirname/$filename"); //拷貝到新目錄
unlink($filename); //刪除舊目錄下的文件
移動圖片位置時注意文件權(quán)限問題