我的问题非常简单:我可以从命令行在我的服务器上完全运行ffmpeg命令,但是当我尝试从PHP脚本执行它们时,这些命令的部分会遇到麻烦。 / p>
例如,以下工作在命令行中:
ffmpeg -i cat.mpeg cat.avi
在我的PHP脚本中,它也可以用作:
exec("/usr/local/bin/ffmpeg -i cat.mpeg cat.avi", $output);
正如我所说,这很好。但是,此行从命令行运行,但不在PHP脚本中运行:
ffmpeg -i cat.mpeg -vf scale=480:360 cat2.mpeg
试图将其放入exec()
不会产生任何结果。我已尝试使用/不使用引号围绕维度,不同的格式等。从我尝试过的许多不同的命令,似乎只要它们不包含-vf
标志,任何都可以在PHP中运行。显然它可以在服务器上运行,因为从命令行执行没有问题;我在这里想念傻事吗?
答案 0 :(得分:0)
我相信它不是关于-vf标志,而是关于它的参数scale = 480:360。尝试使用escapeshellcmd()在执行命令之前转义命令。