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