TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8168 CBR设置问题 编码 图像跳帧

大家好:

   我使用DM8168 +  DVRRDK4.0    H264  hightProfile编码

   设置 码率控制算法为CBR后, VLC播放码流出现跳帧, 现象就是图像一闪一闪的, 下面附了一小段VLC录制的码流,

   设置为VBR时  , 图像正常 

运行时编码参数如下:

[m3video] ——— CH 0 : H264 ENC : Dynamic Params ——-
 [m3video]  [m3video] videnc2DynamicParams -> inputHeight             : 1080
 [m3video] videnc2DynamicParams -> inputWidth              : 1920
 [m3video] videnc2DynamicParams -> refFrameRate            : 30000
 [m3video] videnc2DynamicParams -> targetFrameRate         : 30000
 [m3video] videnc2DynamicParams -> targetBitRate           : 4000000
 [m3video] videnc2DynamicParams -> intraFrameInterval      : 30
 [m3video] videnc2DynamicParams -> generateHeader          : 0
 [m3video] videnc2DynamicParams -> captureWidth            : 1920
 [m3video] videnc2DynamicParams -> forceFrame              : -1
 [m3video] videnc2DynamicParams -> interFrameInterval      : 1
 [m3video] videnc2DynamicParams -> mvAccuracy              : 2
 [m3video] videnc2DynamicParams -> sampleAspectRatioHeight : 1
 [m3video] videnc2DynamicParams -> sampleAspectRatioWidth  : 1
 [m3video] videnc2DynamicParams -> ignoreOutbufSizeFlag    : 1
 [m3video] videnc2DynamicParams -> lateAcquireArg          : -1
 [m3video]  [m3video] rateControlParams -> rateControlParamsPreset        : 1
 [m3video] rateControlParams -> scalingMatrixPreset            : 0
 [m3video] rateControlParams -> rcAlgo                         : 1
 [m3video] rateControlParams -> qpI                            : -1
 [m3video] rateControlParams -> qpMaxI                         : 40
 [m3video] rateControlParams -> qpMinI                         : 10
 [m3video] rateControlParams -> qpP                            : -1
 [m3video] rateControlParams -> qpMaxP                         : 40
 [m3video] rateControlParams -> qpMinP                         : 10
 [m3video] rateControlParams -> qpOffsetB                      : 4
 [m3video] rateControlParams -> qpMaxB                         : 44
 [m3video] rateControlParams -> qpMinB                         : 10
 [m3video] rateControlParams -> allowFrameSkip                 : 0
 [m3video] rateControlParams -> removeExpensiveCoeff           : 0
 [m3video] rateControlParams -> chromaQPIndexOffset            : 0
 [m3video] rateControlParams -> IPQualityFactor                : 0
 [m3video] rateControlParams -> initialBufferLevel             : 2000000
 [m3video] rateControlParams -> HRDBufferSize                  : 2000000
 [m3video] rateControlParams -> minPicSizeRatioI               : 0
 [m3video] rateControlParams -> maxPicSizeRatioI               : 640
 [m3video] rateControlParams -> minPicSizeRatioP               : 0
 [m3video] rateControlParams -> maxPicSizeRatioP               : 0
 [m3video] rateControlParams -> minPicSizeRatioB               : 0
 [m3video] rateControlParams -> maxPicSizeRatioB               : 0
 [m3video] rateControlParams -> enablePRC                      : 1
 [m3video] rateControlParams -> enablePartialFrameSkip         : 0
 [m3video] rateControlParams -> discardSavedBits               : 1
 [m3video] rateControlParams -> VBRDuration                    : 8
 [m3video] rateControlParams -> VBRsensitivity                 : 0
 [m3video] rateControlParams -> skipDistributionWindowLength   : 5
 [m3video] rateControlParams -> numSkipInDistributionWindow    : 2
 [m3video] rateControlParams -> enableHRDComplianceMode        : 1
 [m3video] rateControlParams -> frameSkipThMulQ5               : 0
 [m3video] rateControlParams -> vbvUseLevelThQ5                : 0
 [m3video]  [m3video] interCodingParams -> interCodingPreset  : 0
 [m3video] interCodingParams -> searchRangeHorP    : 144
 [m3video] interCodingParams -> searchRangeVerP    : 32
 [m3video] interCodingParams -> searchRangeHorB    : 144
 [m3video] interCodingParams -> searchRangeVerB    : 16
 [m3video] interCodingParams -> interCodingBias    : 1
 [m3video] interCodingParams -> skipMVCodingBias   : 1
 [m3video] interCodingParams -> minBlockSizeP      : 0
 [m3video] interCodingParams -> minBlockSizeB      : 0
 [m3video] interCodingParams -> meAlgoMode         : 0
 [m3video]  [m3video] intraCodingParams -> intraCodingPreset          : 0
 [m3video] intraCodingParams -> lumaIntra4x4Enable         : 0
 [m3video] intraCodingParams -> lumaIntra8x8Enable         : 255
 [m3video] intraCodingParams -> lumaIntra16x16Enable       : 15
 [m3video] intraCodingParams -> chromaIntra8x8Enable       : 15
 [m3video] intraCodingParams -> chromaComponentEnable      : 1
 [m3video] intraCodingParams -> intraRefreshMethod         : 0
 [m3video] intraCodingParams -> intraRefreshRate           : 0
 [m3video] intraCodingParams -> gdrOverlapRowsBtwFrames    : 0
 [m3video] intraCodingParams -> constrainedIntraPredEnable : 0
 [m3video] intraCodingParams -> intraCodingBias            : 12
 [m3video]  [m3video] sliceCodingParams -> sliceCodingPreset  : 1
 [m3video] sliceCodingParams -> sliceMode          : 8608
 [m3video] sliceCodingParams -> sliceUnitSize      : 8672
 [m3video] sliceCodingParams -> sliceStartOffset   : [2 33 2]
 [m3video] sliceCodingParams -> streamFormat       : 0
 [m3video]  [m3video] sliceGroupChangeCycle           : 3072
 [m3video] searchCenter                    : 0
 [m3video] enableStaticMBCount             : 0
 [m3video] enableROI                       : 262400
 [m3video]  [m3video] 

Eason Wang:

单帧看的话,感觉某两帧甚至某几帧,都是重复的帧。似乎有些帧的顺序也不对,但是不确认。

输入是30fps,但是编码出来变成60fps啦。

你是否可以用那种图像上带读秒的视频源来看一下,我们先确认下是否存在这个跳帧的问题。

he yang:

回复 Eason Wang:

Eason :

           感谢您的回答, 很抱歉今天才回复你!!!

           我编码输入是60帧 编码输出也是60帧, 下面是读秒的录像  和参数配置。

           我的264编码器的版本是02.00.04.00 和02.00.06.00 两个版本的编码器效果差不多, 02.00.06.00稍好一点

[m3video] ——— CH 0 : H264 ENC : Dynamic Params ——- [m3video] [m3video] videnc2DynamicParams -> inputHeight : 1080 [m3video] videnc2DynamicParams -> inputWidth : 1920 [m3video] videnc2DynamicParams -> refFrameRate : 30000 [m3video] videnc2DynamicParams -> targetFrameRate : 30000 [m3video] videnc2DynamicParams -> targetBitRate : 1000000 [m3video] videnc2DynamicParams -> intraFrameInterval : 30 [m3video] videnc2DynamicParams -> generateHeader : 0 [m3video] videnc2DynamicParams -> captureWidth : 1920 [m3video] videnc2DynamicParams -> forceFrame : -1 [m3video] videnc2DynamicParams -> interFrameInterval : 1 [m3video] videnc2DynamicParams -> mvAccuracy : 2 [m3video] videnc2DynamicParams -> sampleAspectRatioHeight : 1 [m3video] videnc2DynamicParams -> sampleAspectRatioWidth : 1 [m3video] videnc2DynamicParams -> ignoreOutbufSizeFlag : 1 [m3video] videnc2DynamicParams -> lateAcquireArg : -1 [m3video] [m3video] rateControlParams -> rateControlParamsPreset : 1 [m3video] rateControlParams -> scalingMatrixPreset : 1 [m3video] rateControlParams -> rcAlgo : 1 [m3video] rateControlParams -> qpI : -1 [m3video] rateControlParams -> qpMaxI : 40 [m3video] rateControlParams -> qpMinI : 10 [m3video] rateControlParams -> qpP : -1 [m3video] rateControlParams -> qpMaxP : 40 [m3video] rateControlParams -> qpMinP : 10 [m3video] rateControlParams -> qpOffsetB : 4 [m3video] rateControlParams -> qpMaxB : 44 [m3video] rateControlParams -> qpMinB : 10 [m3video] rateControlParams -> allowFrameSkip : 0 [m3video] rateControlParams -> removeExpensiveCoeff : 0 [m3video] rateControlParams -> chromaQPIndexOffset : 0 [m3video] rateControlParams -> IPQualityFactor : 0 [m3video] rateControlParams -> initialBufferLevel : 2000000 [m3video] rateControlParams -> HRDBufferSize : 2000000 [m3video] rateControlParams -> minPicSizeRatioI : 0 [m3video] rateControlParams -> maxPicSizeRatioI : 640 [m3video] rateControlParams -> minPicSizeRatioP : 0 [m3video] rateControlParams -> maxPicSizeRatioP : 0 [m3video] rateControlParams -> minPicSizeRatioB : 0 [m3video] rateControlParams -> maxPicSizeRatioB : 0 [m3video] rateControlParams -> enablePRC : 0 [m3video] rateControlParams -> enablePartialFrameSkip : 0 [m3video] rateControlParams -> discardSavedBits : 1 [m3video] rateControlParams -> VBRDuration : 8 [m3video] rateControlParams -> VBRsensitivity : 0 [m3video] rateControlParams -> skipDistributionWindowLength : 5 [m3video] rateControlParams -> numSkipInDistributionWindow : 2 [m3video] rateControlParams -> enableHRDComplianceMode : 1 [m3video] rateControlParams -> frameSkipThMulQ5 : 0 [m3video] rateControlParams -> vbvUseLevelThQ5 : 0 [m3video] [m3video] interCodingParams -> interCodingPreset : 0 [m3video] interCodingParams -> searchRangeHorP : 144 [m3video] interCodingParams -> searchRangeVerP : 32 [m3video] interCodingParams -> searchRangeHorB : 144 [m3video] interCodingParams -> searchRangeVerB : 16 [m3video] interCodingParams -> interCodingBias : 1 [m3video] interCodingParams -> skipMVCodingBias : 1 [m3video] interCodingParams -> minBlockSizeP : 0 [m3video] interCodingParams -> minBlockSizeB : 0 [m3video] interCodingParams -> meAlgoMode : 0 [m3video] [m3video] intraCodingParams -> intraCodingPreset : 0 [m3video] intraCodingParams -> lumaIntra4x4Enable : 0 [m3video] intraCodingParams -> lumaIntra8x8Enable : 255 [m3video] intraCodingParams -> lumaIntra16x16Enable : 15 [m3video] intraCodingParams -> chromaIntra8x8Enable : 15 [m3video] intraCodingParams -> chromaComponentEnable : 1 [m3video] intraCodingParams -> intraRefreshMethod : 0 [m3video] intraCodingParams -> intraRefreshRate : 0 [m3video] intraCodingParams -> gdrOverlapRowsBtwFrames : 0 [m3video] intraCodingParams -> constrainedIntraPredEnable : 0 [m3video] intraCodingParams -> intraCodingBias : 0 [m3video] [m3video] sliceCodingParams -> sliceCodingPreset : -96 [m3video] sliceCodingParams -> sliceMode : 8672 [m3video] sliceCodingParams -> sliceUnitSize : 139522 [m3video] sliceCodingParams -> sliceStartOffset : [0 12 0] [m3video] sliceCodingParams -> streamFormat : 0 [m3video] [m3video] sliceGroupChangeCycle : 0 [m3video] searchCenter : 0 [m3video] enableStaticMBCount : 0 [m3video] enableROI : 262400 [m3video] [m3video]

Eason Wang:

回复 he yang:

单帧看的话,图像的顺序已经前后乱掉了。

你看看我记得有个输入buffer的大小  num buff 什么的数字可以改大点看看

he yang:

回复 Eason Wang:

numbufperch 之前设置为6

改成3或者10后  测试现象一样, 我怀疑跟这个没有关系, 因为设置VBR的时候没有问题,

CBR时 码率设置越大 现象越不明显

zhipeng zhu:

是不是使用了dei  对dei的输出分辨率设置一下 估计就好了 

赞(0)
未经允许不得转载:TI中文支持网 » DM8168 CBR设置问题 编码 图像跳帧
分享到: 更多 (0)