webRTC上的屏幕共享

webRTC上的屏幕共享,webrtc,desktop-sharing,Webrtc,Desktop Sharing,是否可以通过webRTC捕获桌面屏幕共享。。正如我们所知,它只捕获浏览器选项卡上的屏幕,但是否可以捕获整个桌面屏幕,如浏览计算机上的文件或打开和查看pdf等文件。是的,这是可能的。至少使用铬。有几种方法,但最简单的方法是: 在调用getUserMedia时添加此约束: constraints.video.mandatory.chromeMediaSource='screen' 启动chrome时,使用此参数(chrome版本>35): --启用用户媒体屏幕捕获 您可以在此处找到共享屏幕和在远程服

是否可以通过webRTC捕获桌面屏幕共享。。正如我们所知,它只捕获浏览器选项卡上的屏幕,但是否可以捕获整个桌面屏幕,如浏览计算机上的文件或打开和查看pdf等文件。

是的,这是可能的。至少使用铬。有几种方法,但最简单的方法是:

  • 在调用getUserMedia时添加此约束:

    constraints.video.mandatory.chromeMediaSource='screen'

  • 启动chrome时,使用此参数(chrome版本>35):

    --启用用户媒体屏幕捕获

  • 您可以在此处找到共享屏幕和在远程服务器存储库中记录共享屏幕的示例:

    如果您试图执行该示例,请密切注意安全限制。所有信号都需要使用TLS传输。使用原始HTTP将产生拒绝共享屏幕的chrome。

    目前,RTCWeb实现(chrome和firefox)中只有“无状态”屏幕捕获可用。例如

    • 然后试试看
    上面的演示将简单地捕获“任何”打开的应用程序屏幕的屏幕。尽管如此,这种截屏API还是适用于全屏游戏应用程序的屏幕

    更多信息请参见:

    • HTTPs+getUserMedia+postMessage
    关于从web浏览器进行远程桌面共享,它有一堆 与屏幕共享相比,与之相关的安全风险更多。这个 UI/安全方面将很难处理,而且该功能将 非常容易受到社会工程的影响——打电话:“这是 谷歌/戴尔/计算机管理;我们检测到您的机器有 病毒在上面;您可以浏览到吗?我们将帮助您 删除它”--等等


    是的。我最近在WebRTC上工作,能够轻松地流式处理桌面。以下链接帮助我实现了我的需求:

    • Firefox扩展:

      别忘了将*.github.io添加到about:config->getUserMedia屏幕共享允许的域中

    • 谷歌浏览器扩展:

      在Run:Chrome.exe中打开此文件--启用usermedia屏幕捕获

    • 其他参考资料:


    在IE/Safari/Opera上捕获本地窗口屏幕的任何方法/api?基于Thanksafari/IE的WebRTC本机插件不支持屏幕捕获。Mac/iOS本身可能具有与Andriod相同的本机屏幕捕获API。顺便说一句,关于Opera,它不会支持屏幕捕获API,直到屏幕捕获在chromium项目中被认为是“稳定的特性”(因为你们知道Opera是基于chromium的)。您可以尝试基于HTML2Canvas.js的解决方案:我尝试了屏幕链接的共享部分,但它只支持网页div共享,不支持本地应用程序屏幕共享。将在提供的链接上探索更多信息,以查看是否可以让Opera共享桌面应用程序屏幕。谢谢。您不能使用Html2Canvas.js共享应用程序的屏幕,因为它只是一个基于浏览器的javascript库,可以在所有与Canvas2D兼容的浏览器中运行。您可以共享或删除除或corss域等之外的任何元素。此库只需在Canvas2D上渲染,并将屏幕截图作为对象返回。您可以调用Canvas.toDataURL('image/type')来获取特定的图像格式。谢谢@Muaz。实际上,这需要用户执行屏幕截图/打印屏幕命令,然后才能完成