webrtc 视频编码格式及参数配置

一、视频编码格式初始配置

webrtc\media\engine\internalencoderfactory.cc


按照Push顺序,优先选取第一个编解码格式。


二、视频分辨率初始配置

webrtc\pc\videocapturertracksource.cc


选取的原则是,在kVideoFormats里面找参数与kDefaultFormat默认值最接近的一组参数,作为本端的编码能力。


三、视频码率默认值

webrtc\media\engine\webrtcvideoengine.cc



四、默认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---传递新的帧率码率到编码器。



猜你喜欢

转载自blog.csdn.net/crystalshaw/article/details/80372015