In this paper, the OPENH264 encoder is used in the WEBRTC project, and some conclusions and suggestions are given for the optimization of the key parameters of the encoder in practical application:
1.iRCMode: Bit rate control mode:
The 0 value corresponds to quality mode (Rc_quality_mode) more focused on ensuring video quality, bit rate stability control slightly worse, 1 value corresponding to bitrate mode (Rc_bitrate_mode), more emphasis on the stability of the code rate. It is recommended that this parameter be set to 1:ircmode = 1;
2. Itemporallayernum: The number of layers of the time domain Svc
openH264 Source in the Filldefault (sencparamext& param) set the itemporallayernum=1;
However, it is recommended that the parameter modification is set to 2:itemporallayernum=2; anti-loss ability strong
3. Benabledenoise: Noise Reduction
This is a preprocessing process, before coding a bilateral filtering noise reduction process Call Function cwelspreprocess::bilateraldenoising (), for noise reduction processing, turn on the function can filter out some of the noise, but also some distortion of the quality of the encoding, The specific encoding performance effect parameters have not yet been tested.
Recommended PC side can be opened, mobile can be off
4. Benablebackgrounddetection: Background detection, mainly used for vaacalculation and CALCULATEBGD, for BGD control, statistical analysis of image complexity
Benablescenechangedetect: Scene transform detection, when a scene transformation is detected, I-frames are inserted
Benableadaptivequant: Adaptive Quality Control,
These three parameters corresponding to the algorithm are preprocessing process, the video frame before encoding some detection, and the use of the characteristics of the detection algorithm to regulate the encoder algorithm, affecting the coding performance. The algorithm increases complexity, but it also improves the encoding performance, which is turned on by default, and it is recommended that the parameter value be modified to the default parameter 1:
Suggested Benablebackgrounddetection=1; Benablescenechangedetect = 1; Benableadaptivequant= 0;
5. ILOOPFILTERDISABLEIDC = 0 (offset (alpha/beta):
Go to block filter parameter, ILOOPFILTERDISABLEIDC = 0 means to turn on the block filter function, mainly filter out the block effect. However, the offset (Alpha/beta) parameter affects the block filter effect, but the effect is not obvious, the default is generally set to 0, it is recommended that the parameter can be modified to set to 0. Suggested offset (Alpha/beta): -0,-0;
6. Imaxqp = 51;IMINQP = 0
This parameter mainly affects the QP range controlled by the code rate control, the range of support is [0, 51], but the code QP value is too small or too large, will have a great impact on image quality and bitrate, in order to prevent the appearance of extreme image quality situation, the general set to a range of [16,40], so you can set parameter modification to:
IMAXQP = 40; IMINQP = 16