这段时间一直在搞视频传输这一块,加了视频缓冲之后,局域网传输比较流畅且延时小,但是应用到3g视频网络就看不到视频,查了很多资料才摸清一点门道来。
初步的思路是根据网络的带宽(输出目标码率)来和缓冲区当前使用率调整量化参数的大小。
研究了一下Hi3515的码率控制的api,
s32Ret = HI_MPI_VENC_SetH264eRcPara(VeChn, &stH264rcAttr);
if (s32Ret != HI_SUCCESS)
{
printf("HI_MPI_VENC_SetH264eRcPara(%d) err 0x%x\n", VeChn, s32Ret);
return HI_FAILURE;
}
调用之后,出现参数超出合法范围。郁闷,要问代理商时间又长,自己先摸索吧,不行再问问。。
。。。
昨天参数超出合法范围的问题,终于搞定了,一气之下把所有参数都初始化了一遍就OK了。。
今天再把参数的详细用途研究透了,下一步就可以结合带宽和缓冲进行码率控制了,不过应该比较复杂,今天没时间比较紧先写到这。
待续。。。