webrtc视频初始分辨率和码率配置代码

匿名 (未验证) 提交于 2019-12-03 00:19:01

一、视频分辨率码率初始配置

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



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!