如何在Chrome中启用屏幕/桌面捕获?

时间:2015-04-06 06:45:20

标签: javascript google-chrome google-chrome-extension webrtc getusermedia

我可以通过以下步骤在Firefox中实现它:

  1. 制作我的服务器https
  2. 将我的域附加到media.getusermedia.screensharing.allowed_domains中的用户首选项about:config,以将其列入白名单以进行屏幕共享。
  3. 使用{video: {mediaSource: "screen"}}
  4. 之类的约束

    但是在Chrome中,我完全迷失了。

    大多数地方都在说:你需要首先在chrome:// flags中的getUserMedia()中启用名为Enable screen capture support的标志。 (但我无法在任何地方找到此标志)

    我已经检查了Muaz Khan的screen share plugin,它运行得很好,但是担心它与其他WebRTC实验项目相结合,而且我不确定如何为我的项目自定义插件。

    在这个交汇点,我已经明白,没有插件或标志,就无法捕获桌面媒体流。

    所以我想知道的是,我必须启用什么标志/什么是从头开始编写的插件的一部分,以使Chrome支持捕获桌面的方式与我们捕获相机的方式相同。

2 个答案:

答案 0 :(得分:9)

在Chrome / Chromium中,您无法使用“标准”Javascript来捕获用户屏幕。

它已替换为chrome.desktopCapture API,这是Chrome扩展程序独有的。

您提供的示例依赖于此API和扩展程序。它是免费插件,但不是免费扩展。

答案 1 :(得分:1)

在Chrome M36(Chromium Issue 347641)中,enable-usermedia-screen-capture标志已从chrome://flags/中删除。

对于测试或实验,使用chrome --enable-usermedia-screen-capturing启动Chrome(在Chrome 68中进行了测试)时,仍可以启用该功能。

截屏:

enter image description here

Chrome Platform Status还突出显示了MediaStream.getDisplayMedia()实现,这将使开发人员无需任何插件即可从浏览器记录或共享屏幕。规范可以在Screen Capture Editor's Draft中找到。