Frames dropped when using the precompiled OpenH264 binary provided by Cisco

855 Views Asked by At

I am experiencing a problem with frames being dropped when using the precompiled OpenH264 binary provided by Cisco. However, if I compile the library myself without modifying the source, I do not have that issue.

I need to use the precompiled binary from Cisco because I'm using this for a commercial application and cannot use the open-source BSD license. I am using the ISVCEncoder's InitializeExt() call with the parameter bEnableFrameSkip set to False.

//My full configuration is as follows:
    encoder_->GetDefaultParams (&param);
    param.iUsageType = SCREEN_CONTENT_REAL_TIME;
    param.iRCMode = RC_BITRATE_MODE;
    param.fMaxFrameRate = framerate;
    param.iPicWidth = width;
    param.iPicHeight = height;
    param.iTargetBitrate = bitrate;
    param.bEnableDenoise = 0;
    param.bEnableFrameSkip = 0;
    param.iSpatialLayerNum = 1;

    SliceModeEnum sliceMode = SM_SINGLE_SLICE;

Has anyone else ran into similar problems? Does anyone know why this might be happening?

Thanks in advance

2

There are 2 best solutions below

0
On

Simply set param.bEnableFrameSkip = false; to solve the frame skip problem. If you want to use RC_BITRATE_MODE then you have to set param.bEnableFrameSkip = true; as OpenH264 doesn't support RC_BITRATE_MODE in frame skip disable mode.

0
On

We have to set flag bEnableFrameSkip = false.