最近刚开始搞8168,对dvrrdk包还比较陌生。关于码流控制这方面不知道该怎么下手,请做过这方面的朋友给个建议。
Chris Meng:
你好,
什么是码流控制?
对于h264enc来说,码率控制已经在算法里面了。
peng cheng2:
回复 Chris Meng:
感谢您的回复。
码率控制是不是创建link时,算法已经被默认搞好了。我们只需要在代码中赋值,就像下列代码中,我只需要把targetBitRate 赋值成2M或是其他值就行了。
for(i=0;i<ENCODER_H264_CHAN_NUMS;i++){ pEncPrm->chCreateParams[i].format = IVIDEO_H264HP; pEncPrm->chCreateParams[i].profile = IH264_HIGH_PROFILE; pEncPrm->chCreateParams[i].dataLayout = IVIDEO_FIELD_SEPARATED; pEncPrm->chCreateParams[i].fieldMergeEncodeEnable = FALSE; pEncPrm->chCreateParams[i].defaultDynamicParams.intraFrameInterval = 150; pEncPrm->chCreateParams[i].encodingPreset = XDM_DEFAULT; pEncPrm->chCreateParams[i].enableAnalyticinfo = 0; pEncPrm->chCreateParams[i].rateControlPreset = IVIDEO_STORAGE; pEncPrm->chCreateParams[i].defaultDynamicParams.inputFrameRate = 60; if(i==0){ pEncPrm->chCreateParams[i].defaultDynamicParams.targetBitRate = 20000 * 1000; //video_param.sBitrate*1000; } else if(i==1){ pEncPrm->chCreateParams[i].defaultDynamicParams.targetBitRate = 20000 * 1000; //video_param.sBitrate*1000; } pEncPrm->chCreateParams[i].defaultDynamicParams.interFrameInterval = 1; pEncPrm->chCreateParams[i].defaultDynamicParams.mvAccuracy = IVIDENC2_MOTIONVECTOR_QUARTERPEL; }
PS:目前我们想对产品清晰度调整一些,所以我想找找关于码率的demo。