我需要使用WebRTC实现屏幕共享。我知道WebRTC支持共享选项卡内容,但我需要共享整个屏幕。 我想到的解决方案是经常拍摄截图并使用WebRTC数据通道将图像传输到其他方。然后,每次收到新图像时,另一方将更新图像。
这有可能实现吗?特别是我想知道是否可以使用WebRTC数据通道传输图像?
提前谢谢。
答案 0 :(得分:9)
getUserMedia支持整个屏幕的屏幕共享,而不仅仅是标签内容。
我已经完成了一个屏幕捕获演示(使用强制约束chromeMediaSource:'screen'),它将流传输到RTCPeerConnection:https://simpl.info/screencapture。
chrome.tabCapture API获取标签内容,但当然这不是您想要的:示例here(尽管代码现已损坏)。
编辑:向链接添加HTTPS:这是screencapture所必需的。
答案 1 :(得分:7)
屏幕共享可通过Chrome中的实验getUserMedia
约束(not yet available in Firefox)获得。
您需要先在Enable screen capture support in getUserMedia()
中启用名为chrome://flags
的标记。
这里有一个很好的例子来捕捉屏幕:https://html5-demos.appspot.com/static/getusermedia/screenshare.html。
答案 2 :(得分:0)
看看这款Chrome扩展程序,它实现了桌面共享,非常不错。 https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/