让我用我的代码解释我面临的问题...
这是我的PhantomJS使用的js文件。简单地告诉它打开一个页面并对其截屏并将其存储在stdout中。
var page = require("webpage").create();
page.viewportSize = { width: 640, height: 480 };
page.open("http://www.goodboydigital.com/pixijs/examples/12-2/", function() {
setInterval(function() {
page.render("/dev/stdout", { format: "png" });
}, 25);
});
这是我正在运行的cmd命令,用于在Windows命令提示符下的ffmpeg中接收捕获的图像。
phantomjs runner.js | ffmpeg -y -c:v png -f image2pipe -r 25 -t 10 -i - -c:v libx264 -pix_fmt yuv420p -movflags +faststart dragon.mp4
此命令成功启动PhantomJS和ffmpeg的进程。但是在相当长的时间内没有任何反应,在15分钟后,它给出了一个错误消息:
“无法重新分配解析器缓冲区”
就这样。我已经从开发人员声称可以正常工作的该站点引用了此代码 https://mindthecode.com/recording-a-website-with-phantomjs-and-ffmpeg/
请参阅随附的图片以获取更多说明。 Image of Code
答案 0 :(得分:0)
这可能与ffmpeg进程的标准输出有关,因为它正在通过管道进行标准输入,并且在获取连续图像缓冲区后被填满并给出错误。
您可以在nodeJS上组织良好的画布录制应用程序“ puppeteer-recorder”中查看此内容