phantomjs / slimerjs输出到stdout为空

时间:2014-03-13 15:46:09

标签: node.js phantomjs slimerjs

我一直在尝试使用phantomjs或slimerjs从网站捕获一系列png,然后将输出发送到/ dev / stdout并将其传输到ffmpeg以制作视频。

像这样:

phantomjs test.js | ./ffmpeg -analyzeduration 2147483647 -probesize 2147483647 -y -c:v png -f image2pipe -r 10 -i - -c:v libx264 -pix_fmt yuv420p -movflags +faststart test.mp4

test.js:

var page = require('webpage').create();

page.clipRect = { top: 0, left: 0, width: 900, height: 800};
page.viewportSize = { width: 900, height: 800};

var url = 'http://dl.dropbox.com/u/621993/voronoi/voronoi.html';
var frames = 50;

page.open(url, function(){
    setInterval(function(){
        page.render('/dev/stdout');

        if( frames == 0 ) {
            phantom.exit();
        }

        frames--;
    }, 100);
});

但是我没有在stdout上得到任何东西,在最新的ubuntu和debian wheezy尝试使用ports中的node.js和从git编译的node.js。

npm install -g phantomjs

一起安装的phantomjs

我猜这是一个错误,尝试查看他们的github问题跟踪器,但有1000多个未解决的问题,我想在打开票证之前检查一下,如果我实际做的正确。

谢谢。

1 个答案:

答案 0 :(得分:0)

似乎phantomjs在页面上获取复杂的html / js有一些麻烦(顺便说一句非常漂亮),如果你尝试其他URL为ex。 http://www.goodboydigital.com/pixijs/examples/12-2/和稍微不同的命令和最近的ffmpeg它只是起作用;)

phantomjs test.js | ffmpeg-2.4.2-64bit-static/ffmpeg -y -c:v png -f image2pipe -r 25 -t 10  -i - -c:v libx264 -pix_fmt yuv420p -movflags +faststart test.mp4