如果成功运行,video.mpg将保存在您当前的工作目录中。如果需要,您可以将文件名更改为绝对路径。
要检查exec()
函数是否成功运行,您可以传递第三个参数来获取退出状态:
exec('ffmpeg -f image2 -i image%d.jpg video.mpg', $output, $exit_status);
如果成功,$exit_status
将获得0
价值,所以:
if ($exit_status === 0) {
// ran fine
} else {
// failed...
}
如果它失败了,您可能希望在$output
. 您可以STDERR
通过以下方式STDOUT
忽略原始STDOUT
内容:
exec('ffmpeg -f image2 -i image%d.jpg video.mpg 2>&1 >/dev/null', $output, $exit_status);
然后你可以转储$output
看看你得到了什么STDERR
:
if ($exit_status !== 0) {
print implode("\n", $output);
}
如果video.mpg文件已经存在,命令将被卡住,您可能需要传递-y
标志ffmpeg
来覆盖任何现有文件:
exec('ffmpeg -y -f image2 -i image%d.jpg video.mpg 2>&1 >/dev/null', $output, $exit_status);