我们正在探索WebRTC,但我们已经看到了有关今天可行和支持的相互矛盾的信息。
使用WebRTC,是否可以重新创建类似于join.me或WebEx的屏幕共享服务,其中:
今天是否可以使用任何WebRTC浏览器? iOS上的Chrome怎么样?
答案 0 :(得分:19)
chrome.tabCapture API适用于Chrome应用和扩展程序。
这使得可以将选项卡的可见区域捕获为可在本地使用或通过RTCPeerConnection的addStream()共享的流。
有关详细信息,请参阅WebRTC Tab Content Capture proposal。
屏幕共享最初支持使用带有chromeMediaSource约束的getUserMedia的“普通”网页 - 但这是不允许的。
编辑2015年4月1日:现在已修改Chrome浏览器应用和扩展程序仅支持屏幕共享。
答案 1 :(得分:8)
你们可能知道在Chrome Canary(26+)中可以使用screencapture(不是tabCapture),我们最近刚刚发布了一个演示版; https://screensharing.azurewebsites.net
请注意,您需要在https://,
下运行它video: {
mandatory: {
chromeMediaSource: 'screen'
}
你也可以在这里找到一个例子; https://html5-demos.appspot.com/static/getusermedia/screenshare.html
答案 2 :(得分:7)
我知道我的回答有点迟了,但希望它能帮助那些偶然发现该页面的人,如果不是OP。
此时,Firefox和Chrome都支持共享整个屏幕或部分应用程序窗口(您可以选择一些应用程序窗口),通过WebRTC作为媒体流,就像您的相机/麦克风源一样,所以没有选择让其他派对控制你的桌面。除此之外,另一个问题是,您的网站必须在https
模式下运行,而在Firefox和Chrome中,用户必须安装扩展程序。
您可以试试这个Muaz Khan的Screen-sharing Demo,该页面也包含所需的扩展名。
P上。 S:如果你不想安装扩展来运行demo,在firefox中(无法在chrome中转义扩展),你只需要修改两个标志,
about:config
media.getusermedia.screensharing.enabled
设为true
。*.webrtc-experiment.com
添加到media.getusermedia.screensharing.allowed_domains
标记。答案 3 :(得分:6)
据我所知,现在使用任何浏览器都不可能,尽管谷歌Chrome团队已经表示他们最终打算支持这种情况(请参阅他们{{屏幕上的“屏幕共享”子弹点) 3}});而且我怀疑这意味着最终其他浏览器也会跟随,大概是IE和Safari会带来尾声。但所有这些可能都是在2月份的某个地方出现的,那时他们应该最终确定当前的WebRTC标准和出货量。 (希望微软的最后一分钟工作不会搞砸了。)我可能最近错过了一些东西,但我一直非常小心地关注这个项目,我认为屏幕共享甚至没有成功进入Chrome Canary,更不用说dev / beta / prod了。 Opera是WebRTC实施中唯一与Chrome保持同步的浏览器(FireFox似乎落后了大约六个月),我还没有看到该团队关于屏幕共享的任何内容。
我被告知 现在只有一种方法可以做到这一点,就是编写自己的webcamera驱动程序,这样你的本地屏幕就会出现在WebRTC getUserMedia()API中另一个视频源。我不知道有人这样做过 - 当然,这需要在有问题的机器上安装驱动程序。到说完所有的时候,可能只是更容易使用VNC或类似的东西。
答案 4 :(得分:3)
有开源的chrome扩展程序可以做到这一点。请检查一下 https://github.com/ant-media/Chrome-Screen-Capture-Extension
在Github Wiki上也有使用扩展名的文档
https://github.com/ant-media/Ant-Media-Server/wiki/WebRTC-Screen-Sharing
答案 5 :(得分:0)
navigator.mediaDevices.getDisplayMedia(constraint).then((stream)=>{
// todo...
})
现在您可以这样做了,但 Safari 在音频方面与 Chrome 不同。