PhantomJS截图图片有效,但速度很慢

时间:2016-09-11 16:15:10

标签: php apache ubuntu phantomjs render

我需要从不同页面捕获一个Web动画,需要至少50 FPS来捕捉平滑动画,phantomJS无法以50 FPS捕捉,所以,我播放动画x次慢,并使用setInterval每X ms循环并捕获使用phantomJS渲染图像。

另外,我需要大规模扩展,尝试并行执行页面,但没有运气。

在32核处理器中,64GB RAM Ubuntu机器只能并行处理25个这样的页面,大约需要20分钟才能完成,这实际上非常非常慢。

有任何改进建议吗?

代码示例,

page.open(system.args[1],function(status){
    if(status=="success"){ // on successful page open
        setTimeout(function(){ // wait 1 second, all js css to load
            // get the number of frames
            frames = 1000;
            frame=0;
            // loop every loop_interval milli seconds
            var interval = setInterval(function() { // record each frame
                // Render an image with the frame name
                page.render('frame_' + frame + '.png', { format: "png",quality: '100' });
                frame++;
                // exit when all the frames recorded - video end
                if(frames <=frame) {
                    clearInterval(interval);
                    phantom.exit();
                } // if
            }, loop_interval); // set interval
        },1000); // set time out
    }else{
        console.log("Failed load page: "+system.args[1]+"\n");
        phantom.exit();
    } // ifelse status
}); // page.open

0 个答案:

没有答案