Bin’s Web 返回全部文章

视频会议弱网降级:把体验优先级变成系统规则

一场视频会议里,声音、共享文档、正在发言的人,以及其他参会者的画面,可能同时争夺有限的网络资源。

网络变差后,降低分辨率、减少帧率、停止部分画面,都会释放带宽,但造成的体验损失不同。真正困难的是决定:先接受哪一种损失,哪些信息需要保留得更久,以及条件继续恶化时如何进入下一阶段。

我们当时设计会议弱网体系的一项核心工作,就是把这些体验判断整理成能够执行的规则。它涉及媒体类型、观看视图、参会角色、码流档位,以及发送端与接收端之间的配合。

先定义会议中什么更重要

方案首先确定媒体层面的保障顺序:音频优先于共享,共享优先于摄像头视频。对应到降级动作,就是先调整视频,再调整共享,最后才调整音频。

这一顺序把会议的基本沟通目标放在前面。视频质量下降后,参与者仍可能通过声音和共享内容继续讨论;如果声音先受损,其他画面保留得再好,沟通也可能难以持续。

视频内部还需要进一步区分。用户主动固定或作为焦点展示的大画面,优先级高于小画面;在当时的会议方案中,正在发言的参会者优先于其他参会者,同等条件下又区分会议室与个人终端。

这些信息来自不同层面:媒体类型表达内容作用,视图表达当前观看重点,发言状态表达会议过程。只有把它们一起考虑,资源分配才可能对应真实的会议需求。

因此,业务需要把观看重点和参会角色传给 RTC。仅凭画面大小或媒体规格,底层无法完整判断用户此刻最需要什么。

优先保留,不等于一直保持最高质量

有了优先级,仍然不能简单地把低优先级画面依次关掉。

在演讲者视图的方案中,大画面可以先从较高规格降到一个阶段目标;随后调整其他参会者的画面,再继续降低大画面质量。网络进一步恶化时,才逐步停止部分画面的实时更新,最终涉及共享与音频。

这条路径体现了两种体验目标的协调:重点画面要获得更好的保障,其他参会者的可见性也有价值。较高优先级决定资源受限时的相对待遇,并不意味着要以其他画面全部消失为代价,始终保住重点画面的最高规格。

宫格视图又有不同的组织方式。按阶段降低各类视频的质量,在同一阶段内先调整非发言者,再调整发言者;进入下一质量阶段后,继续按照相应次序处理。

因此,一条固定的用户优先级排序,还不足以表达完整策略。同一个对象在不同质量阶段,可接受的下一步动作并不相同。我们将流优先级与分辨率共同纳入决策,正是为了让业务顺序与媒体状态一起影响降级。

产品设计需要同时回答两个问题:当前先处理哪个对象,以及对它采取哪一级调整。

为不同场景定义可接受的退化方式

即使同样需要节省带宽,不同内容也不适合沿同一条路径下降。

共享文档时,降低分辨率可能直接影响文字阅读,因此清晰模式倾向于保留分辨率和画质,先减少更新频率。共享视频时,连续动作更重要,流畅模式则先降低分辨率,再进一步降低帧率。

摄像头视频还要区分码流档位,在各档内部规定分辨率、帧率如何调整,以及什么时候停止发送相应档位。用一句“弱网时降画质”,无法覆盖这些体验差异。

下限也与观看场景有关。同一路视频,在大画面、小窗口、桌面端和移动端上的观看需求可能不同。讨论中,团队因此进一步考虑:限制应如何随着订阅场景表达,而不能只依赖一组全局参数。

一次降多少、持续多久,同样影响体验

规则不仅要定义顺序,还要定义每次调整的幅度。

我们曾提出同类参会者同时降级,评审进一步指出:当多路视频一起下降时,带宽只是稍有不足,也可能一次释放远超缺口的资源,造成不必要的质量损失。后续讨论因此修正为可以逐用户降级,避免把整个分组当成不可拆分的一步。

这说明,分组优先级与执行粒度需要分别设计。同属一个等级,并不意味着所有对象都必须在同一时刻调整。

时间尺度也有类似问题。某档视频帧率短暂低于门槛,是否立即停止发送?最后的结论是应考虑持续一段时间后再执行,防止短暂波动引起抖动。

这些讨论把静态规则推进到了动态体验:降得过多,会提前损失画质;触发过于敏感,会反复变化;响应过慢,又会让拥塞持续。降级体系需要把顺序、幅度和触发时机一起评估,具体参数则要通过验证确定。

从体验取舍到可执行体系

弱网策略把产品对信息价值的判断,直接变成用户最终能够听到和看到的内容。

设计这类体系时,可以依次明确:不同内容的保障顺序,每类对象可接受的退化路径,当前阶段应该调整谁,以及每次调整的幅度和触发条件。再检查这些规则是否能通过正确的业务对象与媒体能力表达,并覆盖发送端、接收端和网络变化过程。

这套方法适用于多种内容共同竞争资源、而不同体验损失又有明显差异的场景。产品经理需要把“优先保住什么”推进为可以讨论、执行和验证的规则,再与研发共同处理实现约束。规则越接近具体任务与实际状态,系统的自动调整就越有依据。