流媒体服务器(21)—— mediasoup 之媒体流score评分计算(二)

avatar
作者
筋斗云
阅读量:2

目录

前言

正文

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!