一、视频分辨率码率初始配置
1、分辨率默认值
webrtc\pc\videocapturertracksource.cc
选取的原则是,在kVideoFormats里面找参数与kDefaultFormat默认值最接近的一组参数,作为本端的编码能力。
2、码率默认值
webrtc\media\engine\webrtcvideoengine.cc
3、默认QP、帧率最大值配置
webrtc\media\engine\webrtcvideoengine.cc
static const int kDefaultQpMax = 56;
const int kDefaultVideoMaxFramerate = 60;
二、生效新的帧率码率流程
在webrtc里面函数实现如下:
->VideoStreamEncoder::EncodeVideoFrame
->VideoSender::AddVideoFrame----在这个函数中读取全局变量encoder_params_,判断是否需要调整视频参数。
->VideoSender::SetEncoderParameters
->VCMGenericEncoder::SetEncoderParameters
->H264EncoderImpl::SetRateAllocation---传递新的帧率码率到编码器。
文章来源: webrtc视频初始分辨率和码率配置代码