webrtc 屏幕共享的诡异问题

118 天前
 kxg3030

第一次使用 webrtc ,实现了远程屏幕共享,消息发送,但是遇到了一个问题,先说说我的实现:

首先页面上只有一个 video 标签,AB 都是同一套项目代码。

AB 分别在不同的电脑上打开网页,A 分享屏幕给 B ,B 接受以后,现在 A 在自己浏览器 video 标签能看到自己的屏幕画面,B 在自己的浏览器 video 标签也能看到 A 的画面,这里分享一切都正常,发送消息也是正常的。

然后在不关闭现有画面分享的情况下,B 又把自己的画面(可以是屏幕,网页都行)分享给 A ,这里重新发起 offer-aswer 过程,A 接受以后,A 现在本地的 video 标签视频流就替换成 B 的分享画面(之前是 A 自己的本地画面),然后诡异的问题就出现了

A 使用 datachannel 发送消息给 B ,然后 AB 都收到了...,更诡异的是,A 关闭分享给 B 的画面,AB 同时都被关闭了, 按照我的预期,A 关闭画面也只是影响到 B 的画面没有数据了,为什么把两端的流都给关闭了呢,难道是我全程都是用的一个 video 标签的原因嘛

1037 次点击
所在节点    程序员
2 条回复
Adyi
118 天前
我这两天也在做一个类似的东西,目前只做到的 A 看到自己的画面,还没有跟 B 打通
kxg3030
118 天前
打通很简单的 10 分钟打通 就是细节比较难控制 有些 api 回调不会按照预期执行就很难办

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060213

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX