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.

dm8168编码后码流帧率问题



现请教关于dm8168编码后码流帧率问题,我使用SDI相机输出1080p60,经Fpga后送入8168的vport0a(16bit),经过capture-nsf-dup-IPC OUT (M3)-IPC IN  (M3)-Encode (16CH D1)-IPC BITS OUT (M3)-IPC BITS IN  (A8)-fwrite,将采集的视频数据经过编码后存储,使用elecard streameyer软件查看后,显示为1080p,帧频为30。并且播放时间为实际采集时间的2倍,请问是什么原因导致,如何解决?我想输出1080p,60帧。我是新手,希望大家帮忙指点一下

  • Mike,

    请问编码参数里面是否设置refFrameRate, targetframerate为60帧?

  • 谢谢您的回复! 我的DVRRDK版本为2.80,refFrameRate, targetframerate我并未进行设置,使用的demo默认的,打印编码信息查看refFrameRate, targetframerate为30000。使用usecase中的编码参数设置,未发现这两个参数的设置,那请问在哪里设置,如何设置这两个参数?

  • Mike,

    你使用的软件版本太旧了,我这里没有。

    在DVR RDK 4.01的dvr_rdk\mcfw\src_bios6\links_m3video\iva_enc\encLink_common.c有下面的代码,请做相应的修改。

    static Int32 enclink_codec_set_ch_alg_default_dynamic_params(EncLink_Obj * pObj,
                                                                 UInt32 chId)
    {

    。。。

    if (
            (pChAlgCreatePrm->format ==  IVIDEO_H264BP) ||
            (pChAlgCreatePrm->format ==  IVIDEO_H264MP) ||
            (pChAlgCreatePrm->format ==  IVIDEO_H264HP)
          )
        {
            pChAlgDynPrm->targetFrameRate   = ENC_LINK_DEFAULT_ALGPARAMS_TARGETFRAMERATEX1000;
            pChAlgDynPrm->refFrameRate      = ENC_LINK_DEFAULT_ALGPARAMS_REFFRAMERATEX1000;
        }

    。。。

    encLink_priv.h

    #define ENC_LINK_DEFAULT_ALGPARAMS_TARGETFRAMERATEX1000                  (30000)
    #define ENC_LINK_DEFAULT_ALGPARAMS_REFFRAMERATEX1000                     (30000)

  • 谢谢你的回复!我的这个版本确实挺旧的,我是通过在一家公司买的板子,赠送的资料。刚才我也按照你提供的目录,我也找到了这个参数,我周一上班试一下!