【腾讯】一文读懂腾讯会议在复杂网络下如何保证高清音频( 八 )


至于重传这块怎么结合?首先要有对这个产品的定位 , 比如腾讯会议它的定位是实时交流产品 , 一定要保延时 , 同时应对复杂网络 , 各种各样的复杂网络 。
怎么做到低延时还抗大丢包 , 带外 FEC 的最大特点就是说费流量 , 但是它可以延时做得非常低 , 它的延时受限于分组延时 , 重传的话效率非常高 , 但又受到网络 RTT 的影响 。
我概括成一句 , 正常网络用带内去加常态 , 在系统边界上限要求抗超大丢包而且还要考虑延时的时候 , 使用带外 FEC 算法那 , 但是对于带外 FEC 的使用要配合控制精准的网络拥塞算法 , 即做到能收能放 。 此外 , 重传 ARQ 对于的突发丢包 , 会有比较好的效果 , 另外对于综合抗丢包能力也是一种很好的补充 。 通过这三种有机结合 , 基本上会有比较好的结果 。
Q: 关于语音激励是怎么实现的?现在的架构是 SFU 还是 MCU , 是自源的还是开源的?
A:我们目前是自研的方案 , 是混合的 , SFU 和 MCU 对于语音能力来说 , 我们的系统在混音服务器是可以根据用户的需要可配置的 , 我们可以做到 Server 端全混音 , 也可以客户端混音 。 当然既然支持融合通信 , 不然我们多路数据输出一路给 PSTN , 一定是经过 MCU 的 。
语音激励是怎么实现的 , 实际上是 MCU 本身的一个基础的语音选路能力 , 选路信息再由 MCU 同步到客户端就 OK 了 。
Q:FEC 码的信息量与音频信息量的比例是怎样的?
A: 这块还是关于系统边界的问题 , 一般是说产品的规格 。 从 QQ 技术交流一直到 2019 年、2020 年 ,21 年的积淀 , 在不同时代基于当时的网络情况和市场需求 , 当时的定位 , 产品规格都是不一样的 。
现在问一个具体的信息量比的具体数字 , 它的意义不是太大 , 这跟产品规格也有关系 。 如果有一个强大的 ARC 去统筹、去控制 , 结合今天讲的全家桶工具 , 那么做任何类型的实时音视频类产品 , 只要定好规则 , 基本上就是可以实现 , 而且做得效果还不错 。
讲师简介
王晓海 , 腾讯多媒体实验室高级研究员 。 王晓海于 2011 年加入腾讯 , 曾参与开发 QQ 音频 TRAE 引擎、OpenSDK 引擎、GME 游戏语音引擎、以及腾讯会议 XCast 引擎 。 加入腾讯前 , 王晓海于 2006 年进入中科院软件所嵌入式软件开发中心 (Casky 中科开元) , 拥有丰富的嵌入式多媒体开发、音频编解码、音效处理算法及优化经验 。 2011 年加入腾讯后 , 参与开发了腾讯第一代自研音频引擎 TRAE(Tencent Realtime Audio Engine) , 深耕音频 + 网络算法方向 , 负责实时音频 SDK 中的音频流控、音频网络抗性、网络拥塞控制、以及相关功能设计和开发工作 。


推荐阅读