3

是否可以在 web 应用程序中使用 webrtc 流式传输桌面信息。如果可能的话,这样的应用程序是否会成为安全问题,目前我们构建了一个可以使用带有 webrtc 的网络摄像头进行流式传输的应用程序。但是我不知道如何将计算机的实际桌面流式传输给某人,我只知道像 Skype 或 TeamViewer 这样的本机应用程序可以做这样的事情,但是一个 web 应用程序呢?

4

1 回答 1

2

是的,这是可能的。要流式传输用户的桌面而不是他们的相机,请替换

const stream = await navigator.mediaDevices.getUserMedia({video: true});

const stream = await navigator.mediaDevices.getDisplayMedia({video: true});

这将提示用户共享他们选择的应用程序窗口或桌面表面。

请注意,目前浏览器支持有限。getDisplayMedia在 Chrome 72、Firefox 66、Edge 17 和Safari 11的标志后面实现。

在旧版本的 Firefox 和 Chrome 上使用 adapter.js polyfill 也可以使用它,但这需要在 Chrome 中安装 Web 扩展。

这样的应用程序是否会成为安全问题

是的,存在与屏幕共享相关的重大安全问题。

让网站记录您的桌面的明显风险是它可能会泄露私人信息。

一个不明显的风险是,当您的浏览器在其上可见时共享您的浏览器或整个桌面是危险的,并且应该只在您信任的网站上进行。

这是因为此类 Web 表面上存在的恶意网站可能会代表您有效地浏览并记录结果,从而绕过浏览器中重要的跨域保护

于 2019-01-13T00:04:35.783 回答