1.linux服务器
2.php版本7.2.18
3.thinkphp框架5.1.37
4.使用软件FFmpeg(20190624最新版)
1)FFmpeg 官网[https://ffmpeg.org/download.html](https://ffmpeg.org/download.html)
2)下载地址[https://johnvansickle.com/ffmpeg/](https://johnvansickle.com/ffmpeg/)
image
根据自己需求选择,下载后上传到服务器,或复制下载地址使用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
将解压后的文件移动到自己设置的目录以备后用——linux安装ffmpeg完成
thinkphp安装php-ffmpeg扩展(使用composer安装)
composer require php-ffmpeg/php-ffmpeg
安装后,在自己使用的控制器里引入
use FFMpeg\FFMpeg;
use FFMpeg\Coordinate\TimeCode;
使用代码
$ffmpeg = FFMpeg::create(array(
'ffmpeg.binaries' => '/opt/ffmpeg/ffmpeg',//服务器ffmpeg安装路径下的文件
'ffprobe.binaries' => '/opt/ffmpeg/ffprobe'//服务器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");//设置日期文件夹
if (!is_dir("uploads/video/img/$dirname")){//是否已有文件夹
mkdir("uploads/video/img/$dirname");//没有则新建文件夹
}
copy($filename,"uploads/video/img/$dirname/$filename"); //拷贝到新目录
unlink($filename); //删除旧目录下的文件
移动图片位置时注意文件权限问题
网友评论