HarmonyOS 鸿蒙Next H264 编码器关键帧

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next H264 编码器关键帧

使用鸿蒙编码器,在进行了几次关键帧请求的操作后,编码器就卡住了,大伙有遇到相同问题的吗?代码如下

OH_AVFormat *format = OH_AVFormat_Create();

// 支持动态请求IDR帧

OH_AVFormat_SetIntValue(format, OH_MD_KEY_REQUEST_I_FRAME, true);

int32_t ret = OH_VideoEncoder_SetParameter(videoEnc, format);

if (ret != AV_ERR_OK) {

// 异常处理

}

OH_AVFormat_Destroy(format);


更多关于HarmonyOS 鸿蒙Next H264 编码器关键帧的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

可以参考以下信息排查

①当前仅支持传入 annexB 格式帧,不支持 AVCC 格式帧

②确保 buffer size 正确传入

③排查首帧是否未传 XPS 信息

仅关键帧(I帧): AVCODEC_BUFFER_FLAGS_SYNC_FRAME

仅配置帧(pps、sps): AVCODEC_BUFFER_FLAGS_CODEC_DATA

是配置帧又是关键帧(pps、sps + I帧) : AVCODEC_BUFFER_FLAGS_CODEC_DATA|AVCODEC_BUFFER_FLAGS_SYNC_FRAME

普通帧(P帧): AVCODEC_BUFFER_FLAGS_NONE

更多关于HarmonyOS 鸿蒙Next H264 编码器关键帧的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


已经解决,经过逐步排查发现是编码出来的 pps 和 sps 没有释放导致的
开发者您好,该问题已反馈研发人员进一步分析,请耐心等待!
先mark下,蹲个解决方案哈

HarmonyOS 鸿蒙Next H264 编码器关键帧相关问题,主要涉及编码过程中的关键帧(I帧)处理。在H264编码中,关键帧用于实现随机访问、错误恢复等功能,是编码过程中的重要组成部分。

在HarmonyOS鸿蒙系统中,使用H264编码器时,可以通过配置参数来请求关键帧。例如,通过设置相关API的参数,可以动态请求IDR帧(一种特殊的关键帧)。这通常涉及到编码器的配置和参数设置,需要确保编码器实例已正确创建,并传入正确的参数格式。

在处理关键帧时,还需要注意编码器的状态管理,如确保在正确的状态下调用相关接口,以及正确处理编码器的输出。此外,对于关键帧的参考关系、刷新位置等也需要仔细管理,以避免参考关系错乱等问题。

如果在使用H264编码器时遇到关键帧处理相关的问题,建议仔细检查编码器的配置和参数设置,以及编码器的状态管理。同时,也可以参考HarmonyOS的官方文档和API说明,以获取更详细的信息和指导。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!