This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8148编码输出帧率控制的问题?



开发板: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);


请问我怎样来控制这个编码的输出帧率?怎么控制跳帧?

  • 你好,

      请参考一下: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, &params, VENC_FRAMERATE); 

                    staticParams->vuiCodingParams.vuiCodingPreset = IH264_VUICODING_DEFAULT;

  • 非常的感谢

    1、现在的编码出来的码率显示的帧率就是配置的这个值,但是实际帧率是不对的,控制无效; 

          实际1080P60编码出来的帧率实际只有20帧,码流在sps里面读出来的帧率值是30,所以用软件播放的时候,视频会特别快,我现在需要怎样调试,才能使帧率吻合呢?

    2、staticParams->vuiCodingParams.vuiCodingPreset = IH264_VUICODING_DEFAULT

          这个参数是什么意思,我怎么设置为0或者1的效果是1样的????