开发板:DM8148EVM板子 , DVRRDK3.0开发包
1、我输入enc模块的帧率是60帧,默认的编码输出为30帧;我编码的实际输出帧率只有21帧?这个我没有明白为什么会这样,为什么自动跳帧了?
2、为什么我把下面两个帧率修改为60,(这两个参数什么区别,可以解释一下吗?)
#define ENC_LINK_DEFAULT_ALGPARAMS_TARGETFRAMERATEX1000 (60000) #define ENC_LINK_DEFAULT_ALGPARAMS_REFFRAMERATEX1000 (60000)
在执行下面函数的时候会失败
retVal = EncLinkH264_algCreate(&pChObj->algObj.u.h264AlgIfObj, &pChObj->algObj.algCreateParams, &pChObj->algObj.algDynamicParams, pObj->linkId, chId, scratchGroupID);
请问我怎样来控制这个编码的输出帧率?怎么控制跳帧?
Louis:
你好,
请参考一下:http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/237004/830132.aspx#830132
Venc_setInputFrameRate(chId, xxx); –> Set the input FPS rate here (The rate at which you are feeding frames to encLink) params.frameRate = xxx;–> Set the output fps you want the encoder to produce here
params.targetBitRate = xxx -> Set corresponding bitrate for the specified frame rate
Venc_setDynamicParam(chId, 0, ¶ms, VENC_FRAMERATE);
staticParams->vuiCodingParams.vuiCodingPreset = IH264_VUICODING_DEFAULT;
binbin xu1:
回复 Louis:
非常的感谢
1、现在的编码出来的码率显示的帧率就是配置的这个值,但是实际帧率是不对的,控制无效;
实际1080P60编码出来的帧率实际只有20帧,码流在sps里面读出来的帧率值是30,所以用软件播放的时候,视频会特别快,我现在需要怎样调试,才能使帧率吻合呢?
2、staticParams->vuiCodingParams.vuiCodingPreset = IH264_VUICODING_DEFAULT
这个参数是什么意思,我怎么设置为0或者1的效果是1样的????