Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在后台php ffmpeg中转换视频?_Php_Apache_Debian_Exec - Fatal编程技术网

在后台php ffmpeg中转换视频?

在后台php ffmpeg中转换视频?,php,apache,debian,exec,Php,Apache,Debian,Exec,我想用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> f

我想用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,我就可以轻松地完成所有需要的工作。(LinuxDebian,apache2,php5)

最好的方法是将作业添加到队列中,并让服务器以异步方式处理ffmpeg转换

用户必须手动重新检查服务器是否已完成作业

你必须这样做:

  • 创建队列数据库表
  • 如果要进行新的ffmpeg转换,请将作业添加到队列表中
  • 在服务器上添加一个cronjob,它会自动查找新作业并执行ffmpeg转换
  • 当cronjob完成转换后,将作业标记为done、delete或诸如此类

  • 如果我想发送一封电子邮件给我的用户,这是在哪里完成的呢。。。我不能得到一份自动报告吗。。喜欢完成自动插入sql记录后?你能告诉我怎么做吗?请举个简单的例子?这对我真的很有帮助……你是说克朗塔布。我明白了,但如果没有克朗乔布,这可能吗?克朗塔布?现在我的FFMPEG工作得很好。我也得到了关于转换的信息,但我想在转换完成后运行X.php…您必须将转换放在php文件中,并使用crontab运行php文件。然后你可以在转换后运行其他PHP代码。你不理解我。。。有一个文件,比如converter.php。。。在文件中,我执行(FFMPEG…);在那之后。。。我还有一个文件,index.php和exec(converter.php)。。。如果我想在后台运行converter.php,在非后台运行FFMPEG,那么正确的sintax是什么。这是我的逻辑。这应该是工作,我想。。。