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

视频编码后发给网络端出现不清楚,不稳定的情况?????????????

  /*encode进video*/   pIpcInVideoPrm = &(IpcInVideoPrm);   pIpcInVideoPrm->inQueParams.prevLinkId   = ipcOutVpssId;   pIpcInVideoPrm->inQueParams.prevLinkQueId  = 0;   pIpcInVideoPrm->numOutQue     = 1;   pIpcInVideoPrm->outQueParams[0].nextLink  = encId;   pIpcInVideoPrm->notifyNextLink     = TRUE;   pIpcInVideoPrm->notifyPrevLink     = TRUE;   pIpcInVideoPrm->noNotifyMode     = FALSE;      pEncPrm = &(EncPrm);   {    for(i=0;i<ENCODER_H264_CHAN_NUMS;i++){     pEncPrm->chCreateParams[i].format = IVIDEO_H264HP;     pEncPrm->chCreateParams[i].profile = IH264_HIGH_PROFILE;     pEncPrm->chCreateParams[i].dataLayout = IVIDEO_FIELD_SEPARATED;     pEncPrm->chCreateParams[i].fieldMergeEncodeEnable  = FALSE;     pEncPrm->chCreateParams[i].enableAnalyticinfo  = 0;     pEncPrm->chCreateParams[i].enableWaterMarking  = 0;///////////////////////////////////     pEncPrm->chCreateParams[i].maxBitRate  = -1;//////////////////////////////////////////加的     pEncPrm->chCreateParams[i].encodingPreset = XDM_DEFAULT;     pEncPrm->chCreateParams[i].rateControlPreset = IVIDEO_STORAGE;     pEncPrm->chCreateParams[i].enableSVCExtensionFlag  = 0;///////////////////////////////     pEncPrm->chCreateParams[i].numTemporalLayer  = 0;////////////////////////////////////

    

    pEncPrm->chCreateParams[i].defaultDynamicParams.intraFrameInterval = 150;     pEncPrm->chCreateParams[i].defaultDynamicParams.inputFrameRate = 60;//video_param.nFrameRate;     if(i==0){ //     pEncPrm->chCreateParams[i].defaultDynamicParams.inputFrameRate = vPort0FrameRate;      pEncPrm->chCreateParams[i].defaultDynamicParams.targetBitRate = vPort0BitRate;//2000 * 1000; //video_param.sBitrate*1000;////////////////////////////////////////////////////////////////////     }     else if(i==1){  //     pEncPrm->chCreateParams[i].defaultDynamicParams.inputFrameRate = vPort1FrameRate;      pEncPrm->chCreateParams[i].defaultDynamicParams.targetBitRate = vPort1BitRate;//20000 * 1000; //video_param.sBitrate*1000;     }     pEncPrm->chCreateParams[i].defaultDynamicParams.interFrameInterval = 1;     pEncPrm->chCreateParams[i].defaultDynamicParams.mvAccuracy = IVIDENC2_MOTIONVECTOR_QUARTERPEL;     pEncPrm->chCreateParams[i].defaultDynamicParams.rcAlg         = 1;/////////////////////     pEncPrm->chCreateParams[i].defaultDynamicParams.qpMin                 = 10;///////////////////////     pEncPrm->chCreateParams[i].defaultDynamicParams.qpMax                = 40;///////////////////     pEncPrm->chCreateParams[i].defaultDynamicParams.qpInit                 = -1;//////////////////////     pEncPrm->chCreateParams[i].defaultDynamicParams.vbrDuration        = 8;////////////////////     pEncPrm->chCreateParams[i].defaultDynamicParams.vbrSensitivity     = 0;//////////////////////         }

       for(i=ENCODER_H264_CHAN_NUMS;i<ENCODER_H264_CHAN_NUMS+ENCODER_MJPG_CHAN_NUMS;i++){     pEncPrm->chCreateParams[i].format = IVIDEO_MJPEG;     pEncPrm->chCreateParams[i].profile = 0;     pEncPrm->chCreateParams[i].dataLayout = IVIDEO_FIELD_SEPARATED;     pEncPrm->chCreateParams[i].fieldMergeEncodeEnable  = FALSE;     pEncPrm->chCreateParams[i].enableAnalyticinfo  = 0;     pEncPrm->chCreateParams[i].enableWaterMarking  = 0;     pEncPrm->chCreateParams[i].maxBitRate  = 0;     pEncPrm->chCreateParams[i].encodingPreset  = 0;     pEncPrm->chCreateParams[i].rateControlPreset  = 0;     pEncPrm->chCreateParams[i].enableSVCExtensionFlag  = 0;     pEncPrm->chCreateParams[i].numTemporalLayer  = 0;          pEncPrm->chCreateParams[i].defaultDynamicParams.intraFrameInterval = 0;     pEncPrm->chCreateParams[i].defaultDynamicParams.targetBitRate         = 100*1000;///////////////////////     pEncPrm->chCreateParams[i].defaultDynamicParams.interFrameInterval    = 0;     pEncPrm->chCreateParams[i].defaultDynamicParams.mvAccuracy            = 0;     pEncPrm->chCreateParams[i].defaultDynamicParams.inputFrameRate        = 1;//pDynPrm->inputFrameRate;     pEncPrm->chCreateParams[i].defaultDynamicParams.qpMin                 = 0;     pEncPrm->chCreateParams[i].defaultDynamicParams.qpMax                 = 0;     pEncPrm->chCreateParams[i].defaultDynamicParams.qpInit                = -1;     pEncPrm->chCreateParams[i].defaultDynamicParams.vbrDuration           = 0;     pEncPrm->chCreateParams[i].defaultDynamicParams.vbrSensitivity        = 0;    }   }

  pEncPrm->inQueParams.prevLinkId = ipcInVideoId;   pEncPrm->inQueParams.prevLinkQueId = 0;   pEncPrm->outQueParams.nextLink = ipcBitsOutVideoId;

 

 

这是我encodelink的设置,大神帮忙看看,谢谢

Eason Wang:

1. 你用什么去解码看效果的?

2. 码率是多少,我看你input frame是60? 增加码率可以改善吗

3. 编码设置的是High profile, 有些解码器未必很好的支持。你换成别的试试

赞(0)
未经允许不得转载:TI中文支持网 » 视频编码后发给网络端出现不清楚,不稳定的情况?????????????
分享到: 更多 (0)