TI论坛
直播中

李洪斌

7年用户 178经验值
私信 关注
[问答]

请问DM8168的DVRRDK3.5包中,有没有关于码流控制的demo??

最近刚开始搞8168,对dvrrdk包还比较陌生。关于码流控制这方面不知道该怎么下手,请做过这方面的朋友给个建议。

回帖(3)

乔婧

2018-7-25 08:09:34
你好,
什么是码流控制?
对于h264enc来说,码率控制已经在算法里面了。
举报

李洪斌

2018-7-25 08:29:21
引用: 物是人非aaa 发表于 2018-7-25 08:09
你好,
什么是码流控制?
对于h264enc来说,码率控制已经在算法里面了。

感谢您的回复。
码率控制是不是创建link时,算法已经被默认搞好了。我们只需要在代码中赋值,就像下列代码中,我只需要把targetBitRate 赋值成2M或是其他值就行了。
for(i=0;i pEncPrm->chCreateParams.format = IVIDEO_H264HP;
pEncPrm->chCreateParams.profile = IH264_HIGH_PROFILE;
pEncPrm->chCreateParams.dataLayout = IVIDEO_FIELD_SEPARATED;
pEncPrm->chCreateParams.fieldMergeEncodeEnable = FALSE;
pEncPrm->chCreateParams.defaultDynamicParams.intraFrameInterval = 150;
pEncPrm->chCreateParams.encodingPreset = XDM_DEFAULT;
pEncPrm->chCreateParams.enableAnalyticinfo = 0;
pEncPrm->chCreateParams.rateControlPreset = IVIDEO_STORAGE;
pEncPrm->chCreateParams.defaultDynamicParams.inputFrameRate = 60;
if(i==0)[
pEncPrm->chCreateParams.defaultDynamicParams.targetBitRate = 20000 * 1000; //video_param.sBitrate*1000;
]
else if(i==1)[
pEncPrm->chCreateParams.defaultDynamicParams.targetBitRate = 20000 * 1000; //video_param.sBitrate*1000;
]
pEncPrm->chCreateParams.defaultDynamicParams.interFrameInterval = 1;
pEncPrm->chCreateParams.defaultDynamicParams.mvAccuracy = IVIDENC2_MOTIONVECTOR_QUARTERPEL;
]
PS:目前我们想对产品清晰度调整一些,所以我想找找关于码率的demo。
举报

乔婧

2018-7-25 08:43:02
引用: xxn082349 发表于 2018-7-25 08:29
感谢您的回复。
码率控制是不是创建link时,算法已经被默认搞好了。我们只需要在代码中赋值,就像下列代码中,我只需要把targetBitRate 赋值成2M或是其他值就行了。
for(i=0;i<ENCODER_H264_CHAN_NUMS;i++)[

你好,
可以这么说。但是最好您能了解一下h264算法 。h264码率控制算法有固定码率,可变码率等。h264编码的码率控制是在创建的时候pEncPrm->chCreateParams.rateControlPreset来设定的。
举报

更多回帖

×
20
完善资料,
赚取积分