2014-05-22 40 views
1

我正在做一些视频预览,并希望生成视频预览作为一个.gif,其中服务器有一个(更改)的视频和预览集合每个视频。PHP显示的项目尚未生成与执行

当前,当用户加载视频时,我会检查预览是否已经存在,如果不存在,请使用exec("ffmpeg" <stuff>)来创建并返回它们。

当服务器正在创建预览时,有没有办法显示某种填充图像(如正在创建图像的图像)?或者,它可以显示填充图像,然后致电exec()为下一次查看页面创建图像?

回答

1

您需要exec()重定向命令/dev/null,使其立即返回,否则页面正在等待它完成:

if(file_exists('/path/to/preview.gif')) { 
    $image = '/path/to/preview.gif'; 
} else { 
    $image = '/path/to/no_preview.gif'; 
    //exec('ffmpeg stuf > /dev/null &'); 
} 
//display $image 

这将加载页面的下一次工作。要以交互方式进行,您需要一些JavaScript来连续检查文件,然后在存在时加载它。

或者如果您不重定向exec()那么您可以让它挂起页面,然后加载新的图像。