Php exec ffmpeg没有在后台运行

时间:2013-12-12 16:11:48

标签: php ffmpeg

我正在尝试从PHP脚本启动一个ffmpeg进程,我知道它已被问过很多次但是我尝试了很多解决方案,但它们似乎都没有工作,每次php脚本永远不会完成,除非我杀了ffmpeg过程。目前我正在使用这个脚本确实启动ffmpeg并在指定的文件中写入信息,但PHP脚本正在永远加载。

我错过了什么?

$cmd = 'cd cache && ffmpeg -y -i "rtsp://stream" -r 20 -f image2 a%6d.jpg >/dev/null 2>/dev/null &';

exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, 'log.txt', 'error.txt' . '.pid')); 

更多信息:我在CentOS 6.5上运行FFMpeg 0.6.5,PHP 5.3.3

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

您可以使用> /dev/null &代替2>&1 &

这将在后台执行$cmd,而无需PHP等待它完成。

参考:http://php.net/manual/en/function.exec.php