我想用exec(),FFMPEG php转换视频。我想在后台运行脚本。我怎么能这样做?
/*** convert video to flash ***/
$v = date('H-i-s');
// exec("ffmpeg -i uploaded_files/770530705510e88ec723a3-20130111_1221_43.avi -ar 22050 -ab 32 -f flv -s 320x240 flash/".microtime()."video.flv 1> flash/".$v."_block.txt 2>&1");
$cmd = 'ffmpeg -i uploaded_files/770530705510e88ec723a3-20130111_1221_43.avi -ar 22050 -ab 32 -f flv -s 320x240 flash/'.microtime().'.flv';
$outputfile = $v.'.txt.';
$pidfile = $v.'_id.txt.';
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
这是我的代码,但不做任何事情。 我想用php运行脚本,但我不想等到http加载时间,直到脚本完成...
或者如何用exec()运行something.php; ?如果我可以运行php,那很容易让我完成所需的一切。 (linux debian,apache2,php5)
答案 0 :(得分:1)
最好的方法是将作业添加到队列中,让服务器以异步方式处理ffmpeg转换。
如果服务器已完成作业,用户必须手动重新检查。
你必须做这样的事情: