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

9
我能够在Firefox中通过以下步骤实现:
  1. 将我的服务器变成https
  2. about:config中将我的域名添加到用户偏好的media.getusermedia.screensharing.allowed_domains中,以便为屏幕共享进行白名单。
  3. 使用类似{video: {mediaSource: "screen"}}的约束条件,
但在Chrome中,我完全搞不清楚。
大多数地方都说:您需要在chrome://flags中首先启用名为Enable screen capture support in getUserMedia()的标志。 (但我无法在任何地方找到这个标志)
我已经检查过Muaz Khan的屏幕共享插件,它工作得很好,但担心它与其他WebRTC实验项目耦合在一起,而且我不知道如何将插件定制为我的项目。
在这个节点上,我已经明白,如果没有插件或标志,就无法捕获桌面媒体流。
所以我想知道的是,必须启用什么标志/必须从头编写什么插件,以使Chrome支持以与捕获摄像头相同的方式捕获桌面?

这就是为什么你再也找不到 https://code.google.com/p/chromium/issues/detail?id=347641 了。 - Luizgrs
2
只是确认一下,该插件没有任何依赖关系。它是100%独立的,并且可以在任何第三方WebRTC代码中使用。许多“大型知名”公司已经在其产品中使用它 :) - Muaz Khan
2个回答

9

在Chrome/Chromium中,您不能再使用“标准”Javascript来捕获用户的屏幕。

它被chrome.desktopCapture API替换,这是专门为Chrome扩展设计的。

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


2
在Chrome M36(Chromium Issue 347641)中,chrome://flags/ 中的 enable-usermedia-screen-capture 标志已被删除。
对于测试或实验,该功能仍可在使用 chrome --enable-usermedia-screen-capturing 启动 Chrome 时启用(在 Chrome 68 中测试通过)。
屏幕截图:

enter image description here

Chrome平台状态还突出了MediaStream.getDisplayMedia()的实现,这将允许开发人员在浏览器中记录或共享屏幕而无需任何插件。该规范可以在屏幕捕获编辑草案中找到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接