我正在处理一个移动应用程序,该应用程序允许用户上传视频,上传视频将转换为mp4格式,我为此目的使用了一个shell脚本,脚本工作正常在我们的最后一个服务器上,但我们切换了服务器,现在它已经停止工作,Apache的日志文件正在打印。
[Tue Jan 21 00:57:37.003944 2014] [:error] TERM environment variable not set.
[Tue Jan 21 00:57:37.148531 2014] [:error] ./script.sh: line 3: ffmpeg: command not found
[Tue Jan 21 00:57:37.148794 2014] [:error] script.sh: line 4: ffmpeg: command not found
脚本的内容是
#!/bin/bash -p
clear
ffmpeg -i $filename -strict experimental -ar 22050 converted.mp4<br>
ffmpeg -itsoffset -1 -i converted.mp4 -vframes 25 -filter:v scale="min(500, iw):-1" thumbnail.png
我正在使用
调用脚本表格。shell_exec("script.sh 52567afa374c61381399290.mp4");
任何帮助将不胜感激。
谢谢
错误是
-
clear
需要一个终端来处理,因此导致TERM
错误(bash -p -p通常应该修复它,但是clear
无论如何都不需要) - 在
shell_exec
期间未正确设置该路径,因此需要ffmpeg
要有一条完整的路径,以便bash可以找到它。