我的问题很简单:我可以从命令行在我的服务器上完美地运行 ffmpeg 命令,但是当我尝试从 PHP 脚本执行它们时,其中一些命令会遇到问题。
例如,以下在命令行中起作用:
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
试图将其放入 aexec()
不会产生任何结果。我已经尝试过在尺寸、不同格式等周围加/不加引号。从我尝试过的几十个不同的命令来看,只要它们不包含-vf
标志,似乎任何命令都可以在 PHP 中工作。显然它可以在服务器上运行,因为从命令行执行没有问题;我在这里想念什么愚蠢的东西吗?