大家好,最近在使用DM368做视频编码,想要编码得到稳定码率的h264流。使用CBR后在复杂画面下,实际码率比设置的值要高很多,请问是为何?
有关参数设置如下:
rateControlPreset = IVIDEO_USER_DEFINED;
dynamicParams_h264.rcAlgo = 5; //Custom CBR1 (rcAlgo = 5)
在以上参数设置下当码率设置为2Mb/s时,偶尔实际码率能够达到3Mb/s,甚至更高。
若将rcAlgo设置为CBR
dynamicParams_h264.rcAlgo = 0; //CBR (rcAlgo = 0): Constant Bitrate Rate Control
码率比较稳定,但是发现P帧与IDR帧大小差不多,有些不合理,而且解码不流畅。
请问我该如何设置参数得到稳定的码率。
Shine:
试试调节一下QP值,具体见下面的说明。http://processors.wiki.ti.com/index.php/DM36x_Rate_Control_Modes#DM36x_Rate_Control_Parameters
wirons chen:
回复 Shine:
你好 Zhang,
我按照链接说明尝试调节QP值的大小。
当减小rcQMax和rcQMaxI时,码率上浮增大,2Mb/s下瞬时码率有时能达到6Mb/s。
当增大rcQMax和rcQMaxI时,码率的上浮范围有缩小,但是图像质量有下降。从参数说明中可以理解质量下降的原因。
能否不修改QP值而得到稳定的码流?牺牲图像质量的代价太大。