文章目录
在上一篇文章 WebRTC系列–视频编码偏好DegradationPreference及开启“实验特性” FieldTrials中,介绍了视频的编码偏好,其中balanced平衡模式,WebRTC看起来还是处于试验状态;这篇文章就来解密,其平衡模式的算法;
降低主流程图如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/c33355dc0ec742f8a3c471cb5bef00de.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA566A566A5Y2V5Y2VbHlt,size_20,color_FFFFFF,t_70,g_se,x_16)
1. 触发流程及流开始
在上层设置使用balanced的模式后,WebRTC根据网络的苹果结果,获取动态调着过码率等,其最终会作用到VideoStreamEncoder
的void VideoStreamEncoder::AdaptDown(AdaptReason reason)
和void VideoStreamEncoder::AdaptUp(AdaptReason reason)
,这两个分别是降低相关视频参数和提升相关视频参数的回调方法;
带宽评估模块和码率的分配在其他文章有描述,同样的怎么回调到adaptDown和adaptUp方法之前的文章也有详细描述,这里简单开下其流程;
- 第一次打开视频调用栈如下: