完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-5-31 14:42 编辑
如下图场景,图像1920*1080大小,配置码率为2M。 大场景时,实际码率与配置码率基本匹配。 变焦至小场景,当风吹过树叶,画面运动量很大时,图像的码率会很大,会达到10M左右,视频可能会卡顿或者花屏,CBR与VBR均不能降低码率。 请问:有没有好方法来控制码率?谢谢。 |
|
相关推荐
6个回答
|
|
|
|
|
|
你好,我们使用的是APPRO DM8127 IPNC,RDK3.8。 设置了I帧与P帧的QPmax值,码率可以降一些,但有时候还是控制不住。 |
|
|
|
7vyydyfwef 发表于 2018-5-31 05:57 你好, CBR可以通过丢帧来保证码率,但会出现卡顿现象。 VBR在运动较大的时候码率增加是正常现象。 你是否使用的是HP? HP支持的选项是否都使能了?QPmax设置为51了? |
|
|
|
你好,我使用的是HP,动态参数请见下面。 QPmax设置为51时,码率控制的较好,图像质量也下降的厉害,马赛克明显: 1、设置为2M码率,小场景多运动画面,最大会升到5M左右。 2、返回大场景时,码率变得比较小,只有500K左右,画面跳动,需要较长时间回到2M。 下面是264的动态参数配置,麻烦看看有什么改进的地方,谢谢。 另:QP值是不是可以根据码率动态调整?如何实时统计视频码率以决定跳帧或改变QP?谢谢。 [m3video] --------- CH 0 : H264 ENC : Dynamic Params ------- [m3video] [m3video] videnc2DynamicParams -> inputHeight : 1080 [m3video] videnc2DynamicParams -> inputWidth : 1920 [m3video] videnc2DynamicParams -> refFrameRate : 25000 [m3video] videnc2DynamicParams -> targetFrameRate : 25000 [m3video] videnc2DynamicParams -> targetBitRate : 2000000 [m3video] videnc2DynamicParams -> intraFrameInterval : 30 [m3video] videnc2DynamicParams -> generateHeader : 0 [m3video] videnc2DynamicParams -> captureWidth : 1952 [m3video] videnc2DynamicParams -> forceFrame : -1 [m3video] videnc2DynamicParams -> interFrameInterval : 1 [m3video] videnc2DynamicParams -> mvAccuracy : 2 [m3video] videnc2DynamicParams -> sampleAspectRatioHeight : 1080 [m3video] videnc2DynamicParams -> sampleAspectRatioWidth : 1920 [m3video] videnc2DynamicParams -> ignoreOutbufSizeFlag : 1 [m3video] videnc2DynamicParams -> lateAcquireArg : 0 [m3video] [m3video] rateControlParams -> rateControlParamsPreset : 1 [m3video] rateControlParams -> scalingMatrixPreset : 1 [m3video] rateControlParams -> rcAlgo : 0 [m3video] rateControlParams -> qpI : -1 [m3video] rateControlParams -> qpMaxI : 46 [m3video] rateControlParams -> qpMinI : 10 [m3video] rateControlParams -> qpP : 28 [m3video] rateControlParams -> qpMaxP : 51 [m3video] rateControlParams -> qpMinP : 10 [m3video] rateControlParams -> qpOffsetB : 0 [m3video] rateControlParams -> qpMaxB : 40 [m3video] rateControlParams -> qpMinB : 40 [m3video] rateControlParams -> allowFrameSkip : 0 [m3video] rateControlParams -> removeExpensiveCoeff : 0 [m3video] rateControlParams -> chromaQPIndexOffset : 0 [m3video] rateControlParams -> IPQualityFactor : 0 [m3video] rateControlParams -> initialBufferLevel : 4000000 [m3video] rateControlParams -> HRDBufferSize : 4000000 [m3video] rateControlParams -> minPicSizeRatioI : 0 [m3video] rateControlParams -> maxPicSizeRatioI : 960 [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 : 1 [m3video] rateControlParams -> enableHRDComplianceMode : 1 [m3video] rateControlParams -> frameSkipThMulQ5 : 0 [m3video] rateControlParams -> vbvUseLevelThQ5 : 0 [m3video] [m3video] interCodingParams-> interCodingPreset : 1 [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 : 1 [m3video] interCodingParams-> minBlockSizeB : 1 [m3video] interCodingParams-> meAlgoMode : 0 [m3video] [m3video] intraCodingParams-> intraCodingPreset : 1 [m3video] intraCodingParams-> lumaIntra4x4Enable : 0 [m3video] intraCodingParams-> lumaIntra8x8Enable : 255 [m3video] intraCodingParams-> lumaIntra8x8Enable : 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-> constrainedIntraPredEnable : 0 [m3video] [m3video] nalUnitControlParams -> naluControlPreset : 1 [m3video] nalUnitControlParams -> naluPresentMaskStartOfSequence : 8608 [m3video] nalUnitControlParams -> naluPresentMaskIDRPicture : 8672 [m3video] nalUnitControlParams -> naluPresentMaskIntraPicture : 8450 [m3video] nalUnitControlParams -> naluPresentMaskNonIntraPicture : 2 [m3video] nalUnitControlParams -> naluPresentMaskEndOfSequence : 3072 [m3video] [m3video] sliceCodingParams-> sliceCodingPreset : 1 [m3video] sliceCodingParams-> sliceMode : 0 [m3video] sliceCodingParams-> sliceUnitSize : 0 [m3video] sliceCodingParams-> sliceStartOffset[IH264ENC_MAX_NUM_SLICE_START_OFFSET] : 0 0 0 [m3video] sliceCodingParams-> streamFormat : 0 [m3video] [m3video] loopFilterParams-> loopfilterPreset : 0 [m3video] loopFilterParams-> loopfilterDisableIDC : 0 [m3video] loopFilterParams-> filterOffsetA : 0 [m3video] loopFilterParams-> filterOffsetB : 0 [m3video] [m3video] fmoCodingParams-> fmoCodingPreset : 0 [m3video] fmoCodingParams-> numSliceGroups : 1 [m3video] fmoCodingParams-> liceGroupMapType : 4 [m3video] fmoCodingParams-> liceGroupChangeDirectionFlag : 0 [m3video] fmoCodingParams-> liceGroupChangeRate : 0 [m3video] fmoCodingParams-> sliceGroupChangeCycle : 0 [m3video] fmoCodingParams-> sliceGroupParams : [0 0] [m3video] [m3video] vuiCodingParams-> vuiCodingPreset : 1 [m3video] vuiCodingParams-> aspectRatioInfoPresentFlag : 0 [m3video] vuiCodingParams-> aspectRatioIdc : 255 [m3video] vuiCodingParams-> videoSignalTypePresentFlag : 1 [m3video] vuiCodingParams-> videoFormat : 5 [m3video] vuiCodingParams-> videoFullRangeFlag : 1 [m3video] vuiCodingParams-> timingInfoPresentFlag : 1 [m3video] vuiCodingParams-> hrdParamsPresentFlag : 1 [m3video] vuiCodingParams-> numUnitsInTicks : 1000 [m3video] [m3video] stereoInfoParams-> stereoInfoPreset : 0 [m3video] stereoInfoParams-> topFieldIsLeftViewFlag : 1 [m3video] stereoInfoParams-> viewSelfContainedFlag : 0 [m3video] [m3video] framePackingSEIParams-> framePackingPreset : 0 [m3video] framePackingSEIParams-> framePackingType : 3 [m3video] framePackingSEIParams-> frame0PositionX : 0 [m3video] framePackingSEIParams-> frame0PositionY : 0 [m3video] framePackingSEIParams-> frame1PositionX : 0 [m3video] framePackingSEIParams-> frame1PositionY : 0 [m3video] [m3video] svcCodingParams-> svcExtensionFlag : 0 [m3video] svcCodingParams-> dependencyID : 0 [m3video] svcCodingParams-> qualityID : 0 [m3video] svcCodingParams-> enhancementProfileID : 0 [m3video] svcCodingParams-> layerIndex : 0 [m3video] svcCodingParams-> refLayerDQId : 0 [m3video] [m3video] interlaceCodingType : 3 [m3video] bottomFieldIntra : 0 [m3video] gopStructure : 0 [m3video] entropyCodingMode : 1 [m3video] transformBlockSize : 1 [m3video] log2MaxFNumMinus4 : 10 [m3video] picOrderCountType : 0 [m3video] enableWatermark : 0 [m3video] IDRFrameInterval : 1 [m3video] maxIntraFrameInterval : 60 [m3video] debugTraceLevel : 1 [m3video] lastNFramesToLog : 31 [m3video] enableAnalyticinfo : 1 [m3video] enableGMVSei : 0 [m3video] constraintSetFlags : 0 [m3video] enableRCDO : 0 [m3video] enableLongTermRefFrame : 0 [m3video] LTRPPeriod : 0 [m3video] searchCenter : 32767 [m3video] enableStaticMBCount : 0 [m3video] extMemoryDebugTraceAddr : -1171076224 [m3video] numTemporalLayer : 1 [m3video] referencePicMarking: 1 [m3video] extMemoryDebugTraceSize : 43008 [m3video] enableROI : 0 [m3video] [m3video] |
|
|
|
7vyydyfwef 发表于 2018-5-31 06:18 你好, 图像质量和图像码率一直是矛盾的,QP大图像质量变差是正常现象。 如果你希望码率控制可以较快恢复,你可以尝试配置下面的参数为目标码率的一半。 [m3video] rateControlParams -> initialBufferLevel : 4000000 [m3video] rateControlParams -> HRDBufferSize : 4000000 另:QP值是不是可以根据码率动态调整?如何实时统计视频码率以决定跳帧或改变QP?谢谢。 【Chris】目前h264enc算法里面的码率控制用户是不能修改的,如果你要动态调整,你需要自己根据码率情况在h264enc算法之外再做一个码率控制。 |
|
|
|
物是人非aaa 发表于 2018-5-31 06:35 好的,非常感谢。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
669 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1048 浏览 1 评论
731 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
520 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
120浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:05 , Processed in 1.122829 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号