流媒体服务器(21)—— mediasoup 之媒体流score评分计算(二)
目录
(图片来源网络,侵删)
前言
正文
1、期望收包数
2、实际收包数
3、丢包数
4、修复包数
5、重传包数
6、综合计算
结尾
《流媒体服务器》专栏总览丨蓄力计划_开源流媒体服务器对比-CSDN博客
前言
上一篇文章介绍了 mediasoup 有一套评估媒体传输通道优劣的机制,主要是通过 score 评分来判断的。同时,也介绍了该机制的大体逻辑,本文将详细介绍其中涉及的具体算法。
正文
今天主要介绍 mediasoup 关于 score 评分的计算方法,其主要逻辑集中在方法 RtpStreamRecv::UpdateScore() 中。计算过程主要涉及五个参数,分别是期望收包数、实际收包数、丢包数、修复包数、重传包数,然后基于这五个参数进行计算和转换。下面详细介绍一下。
1、期望收包数
计算过去一端时间内期望接收到的数据包(也就是RTP包)的总个数,计算方法也非常简单,就是统计当前时间周期内期望收到的总包数,再减去上一个周期内期望收到的总包数,代码如下:
// Calculate number of packets expected in this interval. const auto totalExpected = GetExpectedPackets(); const uint32_t expected = totalExpected
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。