开始之前先来认识什么是FFmpeg,简单说FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
第一:安装FFmpeg
官网下载:https://ffmpeg.org/download.html,注意这里是下载windows版,如下图:
选择最新版或是合适自己的版本。比如我下载的是这个版本:
上面的压缩包解压到D盘并重新命名为ffmpeg,然后配置环境变量path,加上D:\ffmpeg\bin;
配置完后重启服务器,然后打开命令窗口cmd,输入:ffmpeg -version,如显示以下窗口说明安装成功:
如提示错误可确认下windows server 2008服务器是否安装这些功能,如没有先安装,安装步骤:
1、打开“服务器管理器”;
2、依次单击“功能” → “添加功能”;
3、勾选“桌面体验”和“优质Windows音频视频体验”;
4、单击“安装”按钮;
5、安装完毕,根据提示重新启动服务器即可。
安装完以上功能后如还提示缺少DLL文件,那就按提示的从网上下载补完即可。注意:如服务器是64位的,DLL文件需要下放在两个目录下:System32 和 SysWOW64
第二:配置IIS
一般服务器端IIS对调用exe程序是有权限限制,没有正常启动插件,须要给调用插件的应用程序池赋予足够权限。
操作步骤如下:IIS -> 应用程序池 -> 选择你的应用 -> 右键选择高级设置 -> 找到进程模型 -> 标识 -> 选择自定义帐户 -> 输入administrator 帐号密码 ,重启应用程序解决。
第三:安装php-ffmpeg
这里用composer来安装(推荐),打开cmd命令窗口,切换到你TP项目的根目录下,然后输入:
composer require php-ffmpeg/php-ffmpeg
安装完成后测试,代码如下:
# ffmpeg和ffprobe为上面下载的扩展在你项目中的路径 $file = '你上传的视频路径'; $ffprobe = \FFMpeg\FFProbe::create([ 'ffmpeg.binaries' => 'D:/ffmpeg/bin/ffmpeg.exe', # 你本身安装的位置 'ffprobe.binaries' => 'D:/ffmpeg/bin/ffprobe.exe' # 你本身安装的位置 ]); # 获取视频时长 $video_time = $ffprobe->format($file)->get('duration',0)/60; # 获取视频大小(单位可能不许确) $video_size = $ffprobe->format($file)->get('size',0)/1000000;
更多实操再百度上面自己查学哦
以下附上官方说的其它系统引用ffmpeg方法:
上一篇:PHP实现echarts5返回折线状option代码,可动态刷新折线图
下一篇:PHP中private、public、protected 和 self、$this的区别
讨论数量:1
windows service 2012 服务器注意:
其实这个 mfplat.dll 文件是跟多媒体处理有关的,但是 Windows service 2012 默认是没有安装 Windows Media Player,只需要在系统里面安装 Windows Media Player 即可解决安装 ffmpeg 缺少 mfplat.dll 文件的问题。
一直下一步知道角色选择那里,勾选“桌面体验”和“优质Windows音频视频体验”
选中以后直接下一步,直到程序执行完成,然后重启服务器即可。