是否可以通过 webRTC 捕获桌面屏幕共享。我们知道它只是捕获浏览器选项卡上的屏幕,但是否可以捕获整个桌面屏幕,例如浏览计算机上的文件或打开和查看 pdf 等文件。 .
3 回答
目前,RTCWeb 实现(chrome 和 firefox)中只有“无状态”屏幕捕获可用。例如
- 安装 chrome 扩展,然后试试这个演示
上面的演示将简单地捕获“任何”打开的应用程序屏幕的屏幕。但是,这样的屏幕捕获 API无法捕获全屏游戏应用程序的屏幕。
更多信息可在此处获得:
- https://developer.chrome.com/extensions/desktopCapture (
HTTPs+getUserMedia+postMessage
)
关于来自网络浏览器的远程桌面共享,与屏幕共享相比,它具有更多与之相关的安全风险。UI/安全方面将很难处理,并且该功能将非常容易受到社会工程的影响——电话:“这是谷歌/戴尔/计算机管理;我们检测到你的机器上有病毒;你能浏览一下吗,我们会帮你删除它”——等等。参考
是的,这是可能的。至少使用 Chrome。有几种方法可以做到这一点,但最简单的一种是:
在调用 getUserMedia 时添加此约束:
constraints.video.mandatory.chromeMediaSource = '屏幕'
启动 chrome 时,使用此参数(chrome 版本 > 35):
--enable-usermedia-screen-capturing
您可以在此处找到共享屏幕并在远程服务器存储库中记录共享屏幕的示例: https://github.com/Kurento/kurento-tutorial-js/blob/develop/kurento-recorder-screen/static/index。 js
如果您尝试执行该示例,请密切注意安全限制。所有信令都需要使用 TLS 传输。使用原始 HTTP 将产生 chrome 拒绝共享屏幕。
是的。我最近在 WebRTC 上工作,能够轻松地流式传输桌面。以下链接帮助我实现了我的要求:
火狐扩展: http: //mozilla.github.io/webrtc-landing/
不要忘记将您的 *.github.io 添加到 about:config -> getUserMedia 屏幕共享允许的域
谷歌浏览器扩展:https ://developer.chrome.com/extensions/samples#search
在运行中打开它:Chrome.exe --enable-usermedia-screen-capturing