我需要使用 WebRTC 实现屏幕共享。我知道 WebRTC 支持共享选项卡内容,但我需要共享整个屏幕。我正在考虑的一个解决方案是经常截图并使用WebRTC数据通道将图像传输给对方。每次接收到新图像时,对方都会更新图像。
这有可能实现吗?特别是我想知道是否可以使用 WebRTC 数据通道传输图像?
先感谢您。
我需要使用 WebRTC 实现屏幕共享。我知道 WebRTC 支持共享选项卡内容,但我需要共享整个屏幕。我正在考虑的一个解决方案是经常截图并使用WebRTC数据通道将图像传输给对方。每次接收到新图像时,对方都会更新图像。
这有可能实现吗?特别是我想知道是否可以使用 WebRTC 数据通道传输图像?
先感谢您。
getUserMedia 支持整个屏幕的屏幕共享,而不仅仅是标签内容。
我已经完成了一个屏幕捕获演示(使用强制约束 chromeMediaSource: 'screen'),它将流通过管道传输到 RTCPeerConnection: https://simpl.info/screencapture。
chrome.tabCapture API 获取标签内容,但这当然不是您想要的:这里的示例(尽管代码现在已损坏)。
编辑:向链接添加 HTTPS:这是截屏所必需的。
屏幕共享可通过getUserMedia
Chrome 中的实验性约束获得(在 Firefox 中尚不可用)。
您需要首先启用在 中调用的Enable screen capture support in getUserMedia()
标志chrome://flags
。
这里有一个很好的例子来说明如何捕获屏幕:https ://html5-demos.appspot.com/static/getusermedia/screenshare.html 。
看看这个 Chrome 扩展,它实现了桌面共享,还不错。 https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/