DM8168 DVR_RDK4.0 编码H264 设置低码率(1M 或以下)高分辨率(1080P 30帧)视频有马赛克,部分参数设置如下:
encPrm.chCreateParams[ch].defaultDynamicParams.intraFrameInterval = 120;
encPrm.chCreateParams[ch].defaultDynamicParams.inputFrameRate = 30;
encPrm.chCreateParams[ch].defaultDynamicParams.targetFrameRate = 30;
encPrm.chCreateParams[ch].defaultDynamicParams.targetBitRate = 1*1000;
encPrm.chCreateParams[ch].defaultDynamicParams.mvAccuracy = IVIDENC2_MOTIONVECTOR_QUARTERPEL;
encPrm.chCreateParams[ch].defaultDynamicParams.rcAlg = 1;
encPrm.chCreateParams[ch].defaultDynamicParams.qpMin = 10;
encPrm.chCreateParams[ch].defaultDynamicParams.qpMax = 51;
encPrm.chCreateParams[ch].defaultDynamicParams.qpInit = -1;
encPrm.chCreateParams[ch].defaultDynamicParams.vbrDuration = 8;
encPrm.chCreateParams[ch].defaultDynamicParams.vbrSensitivity = 0;
Ternence_Hsu:
参数看起来没有问题,qpmin 设置为10 应当也是没问题的,可以发一个编码后的视频吗?
user4865572:
回复 Ternence_Hsu:
ternence hsu
Ternence_Hsu:
回复 user4865572:
你好;
你是用的CBR 编码的吗?
Ternence_Hsu:
回复 Ternence_Hsu:
播放每次出现马赛克的间隔大概是5s左右,也就是出现IDR帧后,IDR帧占用带宽比较多,后面的P帧的分配资源特别的少,导致画面出现马赛克;
验证上面的问题,你可以 增大 IDR 的间隔,可以出现马赛克的间隔也就更加明显
解决上面的问题,这个需要优化 CBR 编码策略,或者是试试 VBR 的编码效果。
user4865572:
回复 Ternence_Hsu:
ternence hsu
我试过用vbr和cbr,两个效果看起来没有改善,附件是cbr编码的
Ternence_Hsu:
回复 user4865572:
你试试 把 IDR 间隔修改为300帧或者500帧, 用 VBR模式编码,应当是有改善的。
Ternence_Hsu:
回复 Ternence_Hsu:
另外还有一个建议 :
你可以优化一下, 最小IP帧比例和最大IP帧比例、QP量化参数、IDR帧的最大最小QP值等参数,还有 VBR 编码的参数。