带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(1) https://developer.aliyun.com/article/1243300?groupCode=taobaotech
我们将丢包率 > 1% 或 RTT > 300ms 的场次定义为传输质量亚健康的场次,从地理分布来看,所有国家的亚健康场次占比均超过 12%;从网络制式来看,WiFi 网络下的亚健康场次占比最低为 12%,远优于 4G(34%)、3G(54%) 网络,且 WiFi 网络在总场次中占比为 73%。
直播场景中主播端向网络发送的数据量,主要由媒体编解码层的视频编码器与媒体传输层的拥塞控制算法决定。WebRTC 中的网络传输层拥塞控制算法 GCC(Google Congestion Control) 单纯用于传输协议时,我们发现它能保持极低的延迟和几乎0丢包的表现。而视频传输场景,一次短暂的带宽降低可能造成持续几分钟的低画质视频。其中的原因有:视频编码码率难以严丝合缝的按照 GCC 的评估执行;视频编码码率的变化跟不上 GCC 的变化;间歇性的视频流量模式也会影响 GCC 对带宽的评估。
因此,我们基于机器学习的机制设计并实现了 Concerto,通过加强与传输层的互动,来进行对带宽的评估。它的输入既包括历史的传输层丢包率、包间延迟,也包含编码层的编码码率、接收码率等。它的输出即下一时间段(我们的设计为 1 秒)内的带宽预测值。这个预测值既会成为下一阶段的编码码率,也会成为发送码率。从上层逻辑来讲,Concerto 同时知晓两层的状态,就能推导出每场会话的特征。为了实现这个能力,我们需要解决两个问题:如何在巨大的状态空间中提取每场会话的特征,以及如何在任何网络状态下都能决策出最优码率。在 Concerto 中,我们设计了一个深度模仿学习(Imitation Learning)模型来解决这个挑战。使用海量真实网络环境的数据,我们在训练阶段使模仿学习模型学习不同会话的特征,在真实网络带宽的指导下自动生成合适的码率。
带你读《2022技术人的百宝黑皮书》——基于机器学习的带宽估计在淘宝直播中的探索与实践(3) https://developer.aliyun.com/article/1243296?groupCode=taobaotech