HarmonyOS 鸿蒙Next 如何从编码器回调帧中获取SPS数据和PPS数据
HarmonyOS 鸿蒙Next 如何从编码器回调帧中获取SPS数据和PPS数据
参考文档 https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/media/avcodec/video-encoding.md 实现了surface输入的录屏编码。 编码后的回调OnNewOutputBuffer,会不断输出buffer,如何从这个buffer中提取sps信息和pps信息呢。
void OnNewOutputBuffer(OH_AVCodec *codec, uint32_t index, OH_AVBuffer *buffer, void *userData) {
//提取sps信息
//提取pps信息
}
更多关于HarmonyOS 鸿蒙Next 如何从编码器回调帧中获取SPS数据和PPS数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
首先,文档我看是4.1的文档,我们可以参考下最新的5.0文档:https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/media/avcodec/video-encoding.md
然后,关于buffer,可以参考下编码与解码现成的项目,看是否能解决现在的业务问题:
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/avcodec/audio-decoding.md
pps与psp的内容我这边持续研究下。
更多关于HarmonyOS 鸿蒙Next 如何从编码器回调帧中获取SPS数据和PPS数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS 鸿蒙Next中,从编码器回调帧中获取SPS(Sequence Parameter Set)和PPS(Picture Parameter Set)数据,可以通过以下步骤实现:
-
注册回调: 在编码器初始化时,确保已正确注册了回调函数。此回调函数会在编码器完成编码后,被系统调用。
-
回调函数处理: 在回调函数中,检查回调的数据类型。如果数据类型是编码后的帧数据,通常包含了编码信息(如SPS和PPS)。
-
提取SPS和PPS: 编码器的API或SDK通常会提供访问帧头信息的方法。通过这些方法,可以提取出SPS和PPS数据。这些数据通常以二进制形式存在,并且包含于帧头信息中。
-
保存或使用数据: 提取出SPS和PPS后,可以将它们保存到文件、内存或其他存储介质中,或者直接用于解码器等后续处理。
注意,具体实现方式依赖于使用的编码器库或SDK。开发者需要参考编码器库或SDK的文档,以获取准确的API调用和数据处理方法。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html