This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

为什么TI8148的h264编码码率总是超过设置的参数?

Hi all,

       测试TI8148(DVRRDK4.0)编码效率的时候发现,实际传输的码率最大值普遍超过设置的码率,

低码率下平均值也经常超过设置的码率参数。编码方式使用的H264 HP profile。

而且设置动态码率(VBR)和静态码率(CBR)参数也是同样的效果,好像这个参数不起作用。

下图是我们测试的部分结果,可以看出来特别是设置为低码率的时候,码率控制的很不好,有时会超出很多。

我们设置码率和控制方式的函数使用如下:

/* 设置码率
*/
int Venc_setVideoBitRate(int chId,int BitRate)
{

	VENC_CHN_DYNAMIC_PARAM_S params;
	memset(&params, 0, sizeof(params));
	params.targetBitRate = BitRate * 1000;
	Venc_setDynamicParam(chId, 0, &params, VENC_BITRATE);
	return 0;
}

/*设置码率控制(VBR、CBR)
*/
int Venc_setRateControlAlgo(int chId,int value)
{	
	VENC_CHN_DYNAMIC_PARAM_S params;
	memset(&params, 0, sizeof(params));
	params.rcAlg = value;
	Venc_setDynamicParam(chId,0,&params,VENC_RCALG);
	return 0;
}

我们希望当设置成CBR的时候,码率能始终控制在设置的范围之下。而不是经常超出设置的范围

希望能够提供一些帮助,多谢!