如何在Chrome中录制屏幕时达到60 FPS?

时间:2014-02-20 08:16:28

标签: google-chrome google-chrome-extension webrtc screen-recording

大家好我想在Chrome扩展程序中录制一个屏幕,为了做到这一点,我正在使用

 navigator.webkitGetUserMedia(videoConstraints, function(stream) { ...

作为我发送的视频约束:

var videoConstraints = {
    audio: false,
    video: {
    mandatory: { chromeMediaSource: 'screen', maxWidth: 960,
            maxHeight: 720, minWidth:960, minHeight:720  },
    optional: [
      { minFrameRate: 60 },
      { maxWidth: 640 },
      { maxHeigth: 480 }
    ]
}
};
不幸的是,结果非常滞后。有没有办法用这种方法达到60 FPS?或者我应该寻找其他选择? NaCl会成为一种方法吗?

感谢

2 个答案:

答案 0 :(得分:1)

您是否选中了此屏幕共享demo ??

我发现这个演示速度非常快,试着查看这个演示页面中的conference.js文件,你可能会发现一些线索。

答案 1 :(得分:1)

如果保存到磁盘占用的时间最多,您可以尝试使用chrome.storageunlimitedStorage权限保存它,这是异步的,获取/设置可能会更快图像数据。另外,为了将图像绘制到画布上,您可以查看一些内容。你可以看看WebGL。另请参阅requestAnimationFrame函数。此site包含有关画布优化的信息。绘制到画布很慢,应该尽可能少地重绘。这篇stackoverflow帖子也可能对您有帮助。

我希望我帮助过。格鲁克!让我知道它是怎么回事。