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