9.2 机器学习在 WebRTC 中的应用 第二股力量来自算法。机器学习进入实时媒体的方式不是"外挂一个智能模块",而是逐点替换管线上的经典算法。本节把已落地的接入位置、正在成熟的探索方向、以及工程上的硬约束整理成一张地图,帮你在评估"要不要上模型"时问到点子上。 已落地:三个成熟的接入位置 语音降噪是最先完成换代的。经典降噪靠统计假设建模噪声,对平稳噪声有效、对嘈杂人声环境力不从心;模型驱动的降噪直接学习"什么是人声",嘈杂餐厅里也能把说话者拎出来。引擎生态里已有开源模型以极小的计算量完成这件事,替换点正是 4.1 前处理流水线的噪声抑制工序——输入输出形态一致,工程上做成可切换的旁路,效果不达标随时退回经典算法。人像分割撑起了虚拟背景:对采集帧做逐像素的人体区域判定,背景区域替换或虚化。
第二股力量来自算法。机器学习进入实时媒体的方式不是"外挂一个智能模块",而是逐点替换管线上的经典算法。本节把已落地的接入位置、正在成熟的探索方向、以及工程上的硬约束整理成一张地图,帮你在评估"要不要上模型"时问到点子上。
语音降噪是最先完成换代的。经典降噪靠统计假设建模噪声,对平稳噪声有效、对嘈杂人声环境力不从心;模型驱动的降噪直接学习"什么是人声",嘈杂餐厅里也能把说话者拎出来。引擎生态里已有开源模型以极小的计算量完成这件事,替换点正是 4.1 前处理流水线的噪声抑制工序——输入输出形态一致,工程上做成可切换的旁路,效果不达标随时退回经典算法。人像分割撑起了虚拟背景:对采集帧做逐像素的人体区域判定,背景区域替换或虚化。它的接入位置在采集与编码之间,计算量按像素计,所以各家实现都把模型裁剪到移动端可实时运行的规模,并以分辨率换算力。回声消除的残余抑制也开始引入模型:经典消除负责主路径,模型负责把残余的"恼人成分"再压一层,两者串联而非替代。
| 能力 | 管线位置 | 算力压力 | 成熟度 |
|---|---|---|---|
| 模型降噪 | 前处理噪声抑制工序 | 低,可实时 | 已普及 |
| 人像分割 | 采集后编码前 | 中,随分辨率 | 已普及 |
| 残余回声抑制 | 回声消除之后 | 低 | 快速成熟 |
| 视频超分 | 解码后渲染前 | 中高 | 场景化落地 |
| 带宽预测 | 拥塞控制内部 | 低 | 研究到试点 |
视频超分的接入位置在接收侧解码之后、渲染之前:网络只能送来低分辨率画面时,模型把画面放大补细节,弱网体验从"变小变糊"升级为"小而清晰"。它的吸引力在于与现有 QoS 闭环天然互补——带宽决定送多小,算力决定补多大,两条约束各自成立。代价是算力与延迟:推理耗时必须计入 5.3 讲的呈现时刻预算,否则画质收益被卡顿抵消。带宽预测的野心更大:用模型替代或辅助 7.1 的趋势判断,把"看曲线猜顶"升级为"学历史预测"。目前的进展是辅助定位——模型在特定模式(如蜂窝切换、WiFi 干扰)下比通用启发式反应更快,完全替代尚早,因为实时链路对"估计错了怎么办"的容错要求极高,黑盒模型的失败模式难以审计。
评估任何一个"上新模型"的提案时,有四问可作为标准动作:数据从哪来(输入是帧还是统计量)、耗时多少毫秒(相对哪个环节的预算)、失败怎么兜底(能否无缝退回经典算法)、机型覆盖怎样(低端机跑不跑得动)。四问能挡掉大部分不适合实时的提案。
把四问评估落成可打分的表格,让"要不要上模型"从争论变成评审。每一问按三档记分:可量化(有实测数据)、可推导(有可靠依据的估算)、答不上(拍脑袋)。答不上即一票否决——实时链路不收赌徒。
| 评估问 | 可量化的证据 | 答不上的风险 |
|---|---|---|
| 数据从哪来 | 输入形态、维度、帧率对齐 | 管线接错位置 |
| 耗时多少毫秒 | 三档机型实测分布 | 预算被吃穿引发卡顿 |
| 失败怎么兜底 | 回退开关加对比指标 | 故障时无路可退 |
| 机型覆盖怎样 | 目标用户设备分布 | 低端机全面翻车 |
打分表之外还有一条组织层面的经验:模型类需求应当由"懂管线的人"与"懂模型的人"结对评审,前者把关位置与预算,后者把关精度与训练数据。两类人各自单干,要么把模型塞进不该塞的位置,要么把精度神话当成工程方案。本章反复强调"翻译回管线位置",本质就是在为这场结对对话提供共同语言。
实时性要求高、算子轻的(降噪、分割)放终端:省带宽、省往返、隐私友好。算子重的(高质量超分)可放服务端,但要计入下行的额外码率与延迟,并接受覆盖缺口。判断式很朴素:往返一次的延迟预算装得下,才谈得上服务端化。
分情况。降噪、分割这类本地算子随端侧版本走,可以灰度渐进;若模型参与两端协同(如端到端编码),则受协商与兼容性约束,升级节奏接近协议演进。评估提案时先问清模型的作用半径,发布策略随之而定。
与经典算法同一套纪律:离线基准库评测、灰度分档放量、一键回退开关、线上指标守门。模型版本的发布风险不低于代码版本,release 流程的严格程度必须对齐,"只是换个模型文件"的轻率心态是事故之源。
背景。产品的主要使用场景是开放办公区,经典降噪对背景人声几乎无效,用户抱怨"对方那边永远嘈杂"。团队立项评估模型降噪,要求给出可量化的替换决策。
操作。实验按三步走。第一步离线评测:收集真实办公区录音库,经典算法与开源模型各跑一遍,用客观语音质量指标加人工抽听打分,模型在人声场景的优势幅度被量化确认。第二步链路接入:把模型封装成与前处理工序同形态的处理单元,接在回声消除之后替换原噪声抑制位,保留配置开关实现一键回退。第三步在测验证:三档机型各跑一小时通话,记录每帧处理耗时、CPU 占用、发热与主观评分。
结果。中高端机型每帧处理耗时不足一毫秒、CPU 增量个位数百分比,主观评分显著优于经典算法;最低端机型耗时接近帧预算的三分之一,发热可感但可接受。决策为:中高端默认开启、低端默认关闭、异常时自动回退,全量上线后办公区场景的"嘈杂"类投诉下降过半。
解读。这个实验的工程范式值得复用:模型当工序接入,而非当黑盒外挂。形态一致才有无缝回退,三档机型的实测才有分档策略,客观指标加主观抽听才有可信结论。对照四问:数据、耗时、兜底、覆盖,全部有数——这才是模型进入实时管线的正确姿势。
变式。同一范式可以直接迁移到虚拟背景:接入位置换到采集之后,评测增加边缘质量与闪烁稳定性两项指标,算力预算按分辨率档位分档。反过来,若提案是"用模型做编码决策",四问里的"失败怎么兜底"就很难答——编码决策错了画质崩塌且难回退,这类高风险位置应当等待引擎社区给出带守卫的方案,而不是业务侧抢跑。
本节要点:模型以工序形态接入管线,降噪、分割、残余抑制三处已成熟;超分与带宽预测在快速成熟但受算力与审计性约束;评估新模型用四问——数据、耗时、兜底、覆盖;分档策略与一键回退是上线标配。下一节走完最后一站:极端延迟场景的预算账本。