我正在使用ffmpeg来动态转换视频,正如他们所说的那样,我面临一个非常恼人,无法解决和未引用的问题(截至目前为止)),当我运行我的php脚本时,它基本上工作 - 获取文件,使用ffmpeg,开始转换它,但通过它完成,浏览器挂起,我不明白为什么或如何解决它: (即使使用set_time_limit,这个混蛋也行不通。)
function convertToMp4(){
/*
* Converts a file to mp4, returns the new file name
*/
set_time_limit(0);
$tmpFile = $this->fileName;
$newFile = uniqid();
$outputFile = "output/$justFile.mp4";
exec("ffmpeg -i " . $tmpFile . " -acodec copy -ar 44100 -ab 96k " . $outputFile. " &");
unlink($tmpFile);
return $outputFile;
}
想法?
答案 0 :(得分:0)
正在使用什么版本的ffmpeg? this forum thread似乎谈论同一个问题,而且它最近被修改了。他们建议使用最新版本的ffmpeg:
由致命的27天前添加
嗨,
这是正在运行的命令,所以我不知道为什么它会挂起 你的系统因为我也有10秒的超时时间 应该自行终止。
我刚尝试使用他们的最新版本:
ffmpeg版本N-33818-gd049257,版权所有(c)2000-2011 FFmpeg 开发人员于2011年10月19日23:01:30与gcc 4.6.1
建立它按预期工作。
metabrowser在什么时候会冻结?它会显示秒数 酒吧与第二个它会在它旁边?
保重
答案 1 :(得分:0)
好吧,经过多次挫折之后,我意识到因为ffmpeg需要一段时间来处理,所以这是一个常规的浏览器超时... 如果你真的需要编码大文件,你应该使用cron作业来启动编码,但不要期望在适当的时候完成它...