使用Cisco提供的预编译OpenH264二进制文件时丢弃的帧



我在使用Cisco提供的预编译OpenH264二进制文件时遇到帧被丢弃的问题。但是,如果我自己在不修改源代码的情况下编译库,我就不会有这个问题。

我需要使用思科的预编译二进制文件,因为我将其用于商业应用程序,并且不能使用开源BSD许可证。我使用的是ISVCEncoder的InitializeExt()调用,参数bEnableFrameSkip设置为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;

其他人也遇到过类似的问题吗?有人知道为什么会发生这种事吗?

提前感谢

我们必须设置标志bEnableFrameSkip=false。

只需设置param.bEnableFrameSkip = false;即可解决跳帧问题。如果要使用RC_BITRATE_MODE,则必须设置param.bEnableFrameSkip = true;,因为OpenH264在帧跳过禁用模式下不支持RC_BITRATE_MODE

最新更新