我需要使用WebRTC实现屏幕共享。我知道WebRTC支持共享选项卡内容,但我需要共享整个屏幕。
我正在考虑的解决方案是频繁地截取屏幕截图,并使用WebRTC数据通道将图像传输到另一方。然后,每当接收到新图像时,另一方将更新该图像。
这是否可能实现呢?特别是我想知道是否可以使用WebRTC数据通道来传输图像?
提前致谢。
这是否可能实现呢?特别是我想知道是否可以使用WebRTC数据通道来传输图像?
提前致谢。
getUserMedia支持整个屏幕的屏幕共享,而不仅仅是选项卡内容。
我已经完成了一个屏幕捕获演示(使用强制约束chromeMediaSource:'screen'),并将流导入到RTCPeerConnection中:https://simpl.info/screencapture。
chrome.tabCapture API获取选项卡内容,但当然这不是您想要的:例子here(尽管现在代码已经不可用)。
编辑:在链接中添加了HTTPS:这是屏幕捕获所必需的。
通过Chrome中的实验性getUserMedia
约束条件可以进行屏幕共享(Firefox尚未提供)。
您需要先在chrome://flags
中启用名为Enable screen capture support in getUserMedia()
的标志。
这里有一个很好的屏幕捕获示例:https://html5-demos.appspot.com/static/getusermedia/screenshare.html。
启用屏幕截图支持
标志已被移除。 - Reza看看这个Chrome扩展,它已经实现了桌面共享功能,而且非常不错。 https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/