https://blog.csdn.net/CrystalShaw/article/details/80372015
一、视频编码格式初始配置
webrtc\media\engine\internalencoderfactory.cc
按照Push顺序,优先选取第一个编解码格式。
二、视频分辨率初始配置
webrtc\pc\videocapturertracksource.cc
选取的原则是,在kVideoFormats里面找参数与kDefaultFormat默认值最接近的一组参数,作为本端的编码能力。
三、视频码率默认值
webrtc\media\engine\webrtcvideoengine.cc
EncoderStreamFactory::CreateEncoderStreams
四、默认QP、帧率最大值配置
webrtc\media\engine\webrtcvideoengine.cc
static const int kDefaultQpMax = 56;
const int kDefaultVideoMaxFramerate = 60;
五、使能SRTP
webrtc\src\webrtc\api\peerconnectioninterface.h
disable_encryption = true 取消SRTP
disable_encryption = false 开启SRTP
配置密钥:
bool Conductor::CreatePeerConnection(bool dtls)配置是否生成密钥。
六、生效新的帧率码率流程
在webrtc里面函数实现如下:
->VideoStreamEncoder::EncodeVideoFrame
->VideoSender::AddVideoFrame----在这个函数中读取全局变量encoder_params_,判断是否需要调整视频参数。
->VideoSender::SetEncoderParameters
->VCMGenericEncoder::SetEncoderParameters
->H264EncoderImpl::SetRateAllocation---传递新的帧率码率到编码器。
七、H264打包模式
codec.cc VideoCodec::SetDefaultParameters
---------------------
作者:CrystalShaw
来源:CSDN
原文:https://blog.csdn.net/CrystalShaw/article/details/80372015
版权声明:本文为博主原创文章,转载请附上博文链接!