可以使用webrtc在webapp中流式传输桌面

时间:2019-01-10 16:18:19

标签: javascript stream webrtc desktop get-display-media

是否可以在Web应用程序中使用webrtc流式传输桌面信息。如果可能的话,这样的应用程序是否会成为安全问题,当前我们构建了一个可以使用带webrtc的网络摄像头进行流传输的应用程序。但是我对如何将计算机的实际桌面流式传输给某人没有真正的想法,我只知道像Skype或TeamViewer这样的本机应用程序可以执行类似的操作,但是可以使用Web应用程序?

1 个答案:

答案 0 :(得分:1)

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

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

使用

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

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

请注意,目前浏览器支持有限。 getDisplayMedia在Safari 11中的Chrome 72,Firefox 66,Edge 17和behind a flag中实现。

在旧版本的Firefox和Chrome上为also available using the adapter.js polyfill,尽管这需要在Chrome中安装网络扩展程序。

  

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

是的,significant security issues与屏幕共享有关。

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

一个显而易见的风险是,在浏览器可见时共享您的浏览器或整个桌面非常危险,并且仅应在您信任的网站上进行。

这是因为存在于此类网络表面上的恶意网站可能会代表您有效地浏览并记录结果,从而绕过浏览器中重要的cross-origin protections