javascript - WebRTC + Web App:连接建立后远程视频静音
问题描述
我目前正在解决与流式传输实时视频相关的问题。
我看到的症状似乎与此线程有关:
我已经能够以两种不同的方式重现该问题。
第一个场景涉及三个不同的 Web 浏览器/计算机等。我将给这些浏览器命名为 Persons A、B 和 C。 Person A 将是主机。A 人和 B 人能够看到对方。B 人和 C 人不能。
另一种情况涉及两个不同的网络浏览器/计算机等(我们将它们称为人员 A 和 B)。再次,成功建立了一对一的对等通信,并且两个用户都能够看到彼此。在这种情况下,我以编程方式添加了一些源代码,以便人 B 可以动态销毁然后重建视频元素(进而停止和重新启动网络摄像头)。破坏一切的人 B 会产生预期的行为。但是,当 B 决定重新启动网络摄像头时,A 无法看到 B。
我决定为 MediaStreamTrack 和 video 元素创建事件处理程序。在一个完美的世界里,我的日志应该是这样的:
tracks received from peer: (2) [MediaStreamTrack, MediaStreamTrack]
mute event triggered for track: MediaStreamTrack {kind: "audio", id: "...", label: "...", enabled: true, muted: false, …}
mute event triggered for track: MediaStreamTrack {kind: "video", id: "...", label: "...", enabled: true, muted: false, …}
end event triggered for track: MediaStreamTrack {kind: "audio", id: "...", label: "...", enabled: true, muted: false, …}
loadstart event triggered...
onloadedmetadata event triggered...
canplay event triggered...
canplaythrough event triggered...
但是,如果接收用户无法查看视频流,则永远不会触发 onloadedmetadata 事件。相反,视频媒体流轨道最终被静音:
tracks received from peer: (2) [MediaStreamTrack, MediaStreamTrack]
mute event triggered for track: MediaStreamTrack {kind: "audio", id: "...", label: "...", enabled: true, muted: false, …}
mute event triggered for track: MediaStreamTrack {kind: "video", id: "...", label: "...", enabled: true, muted: false, …}
loadstart event triggered...
mute event triggered for track: MediaStreamTrack {kind: "video", id: "...", label: "...", enabled: true, muted: true, …}
我想了解可能导致这种行为的变体,以及我可能有的任何选项来解决这个问题,如果可能的话。我尝试阅读官方 WebRTC 文档;但是,我真的找不到任何线索。也许我不知道去哪里找。
感谢您的时间和考虑。
解决方案
推荐阅读
- php - 当有多个场景时,Behat 挂起,但适用于单个场景
- android - 我在带有卡片视图的类别区域网格视图中使用标志,我无法单击单击第二个图块我需要第二次按下它然后它选择
- php - 如何在购物车中添加两个产品 onlclick 添加到购物车按钮?
- python - 来自另一个模块的 Python 登录方法
- ios - 使用 Apple 登录:验证我的域无法正常工作
- javascript - sails.js 如何使用 restler 从脚本调用 REST API?
- windows-installer - 创建 Windows Installer MSI 以添加用于 Power Point 的插件
- xml - 使用 XSLT 将 CSV 文件转换为 XML
- google-cloud-platform - Google Cloud - 保险柜存储、用户名和密码
- python - 如何使用python生成显示百分比而不是出现次数的图表?