windows下ThinkPhP5使用ffmpeg处理视频文件(php5.6)

此方案本质上就是php调用了另一个程序去处理视频文件。
1、准备
(1)tp环境
(2)ffmpge文件
(3)我使用的是php版本是5.6
(4)服务器环境是windows
(5)apache版本为2.4.x
2、误区或者说我没搞懂的,大家少走弯路,不需要php_ffmpeg.dll这个文件,不需要这个文件。这个很重要。我看到网上好多教程需要这个文件,导致我花了12个小时在找这个,昨晚搞到2点,今天到这个点才弄明白。
3、具体操作方案
(1)首先你需要下载ffmpeg文件:官网地址:https://ffmpeg.zeranoe.com/builds/
我使用的是官网的这个版本:https://download.csdn.net/download/u010481239/10763668
下载完文件后解压得到如图文件:
windows下ThinkPhP5使用ffmpeg处理视频文件(php5.6)_第1张图片
(2)thinkphp的vendor目录下新建个文件夹,名字要英文,我起的是FFmpge。
windows下ThinkPhP5使用ffmpeg处理视频文件(php5.6)_第2张图片
把上面的文件全部丢进这个新建的文件夹。
(3)配置环境变量
windows下ThinkPhP5使用ffmpeg处理视频文件(php5.6)_第3张图片
把刚才新建的那个目录配置到环境变量里面。
4、代码

        $name = '777.png';//图片名字
        $from = "C:\\666.mp4";//文件存放路径
        $to = "C:\\";//生成图片存放路径
        $str = "ffmpeg -i " . $from . " -y -f mjpeg -ss 3 -t 1 -s 740x500 " . $to . $name;//ffmpeg命令,具体啥意思可以百度
        exec($str, $output);//执行上述语句

放在你的某个控制器里面去访问试试吧。
重点来了。exec这个执行没有任何反应。
查看apache日志
发现问题为权限不足啊好像是。windows下ThinkPhP5使用ffmpeg处理视频文件(php5.6)_第4张图片
网上说什么权限问题啊,乱七八糟的问题啊。具体解决方案请百度。
我尝试了一种解决方案,把刚才解压的文件bin文件夹下面的ffmpeg.exe放一个到web目录。试试吧。
这样就可以处理视频文件按照帧数生成截图了。

QQ:961052877。
参考链接:
https://www.cnblogs.com/gaohj/p/3267692.html
https://blog.csdn.net/DuTianTian_csdn/article/details/80874187
https://bbs.csdn.net/topics/390833000

你可能感兴趣的:(thinkphp,PHP,视频处理)