我正在开发一个允许用户上传视频的移动应用程序,上传后视频转换为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
script.sh的内容是
#!/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
我使用
调用php脚本shell_exec("script.sh 52567afa374c61381399290.mp4");
非常感谢任何帮助。
由于
答案 0 :(得分:0)
错误
clear
需要终端处理,因此导致TERM
错误(bash -p
通常应该修复它,但无论如何都不需要clear
)shell_exec
期间未正确设置路径,因此需要ffmpeg
指定一个完整路径,以便bash可以找到它。