gpt4 book ai didi

browser - 远程视频轨道静音/启用的 webRTC 含义

转载 作者:行者123 更新时间:2023-12-04 15:20:42 25 4
gpt4 key购买 nike

几年前实现了一种机制,该机制通过数据通道消息发出信号,表明远程用户将其本地视频静音(例如,将启用设置为 false),然后在远程端采取适当的操作(例如,显示远程用户头像而不是黑色视频流),我一直在对一个非直接相关的功能进行一些测试,让我查看视频轨道的状态(即,对等连接的接收流上的视频轨道)和我请注意,远程视频的静音状态有时会在 true 和 false 之间波动(尽管远程流本身没有实际变化)。

很难说出这种情况发生的确切时间,但似乎可能(不知道是否真的如此)与长时间不将媒体附加到对象(例如,用于播放的 HTML 视频元素)相关时间(例如 10 秒),并且似乎如果它在短时间内附加,则视频轨道不会在接收方显示 muted=true 状态。

W3 媒体捕获和流规范(请参阅 https://w3c.github.io/mediacapture-main/#track-muted)“当源暂时无法为轨道提供数据时,MediaStreamTrack 将被静音。用户可以将轨道静音。通常此操作不受控制应用程序的。这可能是由于用户按下硬件开关或切换操作系统/浏览器 chrome 中的控件造成的。用户代理也可以使轨道静音。”该规范似乎没有说明造成这种情况的原因是什么或可能是什么。

在 webRTC 的情况下,任何人都可以提供一些指示,说明为什么当来自远程的媒体实际流动时,从 webrtc 对等连接引用的远程视频流可能显示为 true 的静音状态。此外,当远程视频流上的静音状态实际上并不反射(reflect)远程状态而是某些本地处理时,它的实际值(value)或用途可能是什么。

感谢您对此的任何想法。

最佳答案

如文档所述,静音状态因用户操作、网络甚至浏览器本身而异。如果它在数据流动时被静音,这可能是因为您或其他用户的浏览器(例如,可能是许多其他实际上并不重要的原因)。

你问这是干嘛的?其中许多属性仅用于测试目的(当深入研究 webrtc 开发时),不适用于生产。

正如 MDN 中所说:

When possible, avoid polling muted to monitor the track's mutingstatus. Instead, add event listeners for the mute and unmute events.

关于browser - 远程视频轨道静音/启用的 webRTC 含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63375725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com