如何在 chrome 中启用 screen/desktop 捕获?

how to enable screen/desktop capture in chrome?

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

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

但在 chrome 中,我完全迷路了。

大多数地方都在提示:您需要先在 chrome://flags 中的 getUserMedia() 中启用名为“启用屏幕捕获支持”的标志。 (但我无法在任何地方找到这个标志)

我查看了Muaz Khan的screen share plugin,效果很好,但怕和其他WebRTC实验项目耦合,不知道如何为我的项目定制插件。

在这个路口,我了解到,没有插件或标志,无法捕获桌面媒体流。

所以我想知道的是,我必须启用什么标志/什么必须是从头编写的插件的一部分才能使 chrome 以允许我们的方式支持捕获桌面拍摄相机。

在 Chrome/Chromium 中,您不能再使用 "standard" Javascript 来捕获用户屏幕。

它已被 chrome.desktopCapture API 取代,后者专用于 Chrome 个扩展。

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

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

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

截图:

Chrome Platform Status also highlights a MediaStream.getDisplayMedia() implementation, which will allow developers to record or share the screen from the browser without any plugin. The specification for this can be found in the Screen Capture Editor's Draft.