码率分配
评估码率分配核心类BitrateAllocator
WebRTC在进行带宽评估后会通过OnNetworkChanged方法回调到BitrateAllocator类,音频,视频等媒体的码率分配都是在此类中进行;
AddObserver方法
音频和视频在其(audio/audio_send_stream.cc)AudioSendStream的ConfigureBitrateObserver和(video/video_send_stream_impl.cc)VideoSendStreamImpl的StartupVideoSendStream方法的调用 bitrate_allocator_->AddObserver注册监听和参数设置;
在BitrateAllocator::AddObserver中会判断是不是已经加入过如果没有加入过则push到bitrate_observer_configs_中,后续的码率分配都是以bitrate_observer_configs_循环分配。
AllocateBitrates 方法
先看一段WebRTC的日志输出:
本文深入探讨了WebRTC的BitrateAllocator类在码率分配中的作用,包括AddObserver方法用于注册监听和参数设置,以及AllocateBitrates方法中根据评估码率进行不同情况的码率分配策略。重点分析了NormalRateAllocation和MaxRateAllocation两种主要的码率分配实现。此外,还介绍了音频码率的调整和参数设置流程,以及带宽分配参数的设置调用路径。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



