HarmonyOS 鸿蒙Next 解码问题咨询

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

HarmonyOS 鸿蒙Next 解码问题咨询

请问硬解是否可以自己构造nativeWindow,然后将解码后的数据转成纹理形式吗,详细情况如下: 使用AVCodec kit 硬解时,OH_VideoDecoder_SetSurface要求输入nativeWindow,文档中介绍要求是XComponent对应的nativeWindow,这里可以不是由XComponent转换过来的nativeWindow吗,比起是否可以自己构造一个,类似于Android由SurfaceTexture构造的Surface,然后解码完后外部可以直接得到解码完后的纹理信息


更多关于HarmonyOS 鸿蒙Next 解码问题咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
这种场景可以参考使用nativeimage

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/native-image-guidelines-V5

1.在OnSurfaceCreatedCB回调函数内根据获取window,根据window初始化EGL环境

2.创建OH_NativeImage实例。

3.获取OH_NativeImage对应的数据生产者端NativeWindow。

4.根据解码输出的视频分辨率设置NativeWindow的宽高。

5.调用OH_VideoDecoder_SetSurface(decoder,NativeWindow);

6.调用 OH_VideoDecoder_RenderOutputBuffer

7.从NativeImage(NativeWindow) 获取输出数据。

8.操作NativeImage,将数据内容更新到OpenGL外部纹理上

获取解码器输出数据的方法,

a.从NativeWindow中获取NativeWindowBuffer.

b.从NativeWindowBuffer 获取数据。

更多关于HarmonyOS 鸿蒙Next 解码问题咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提出的HarmonyOS 鸿蒙Next解码问题咨询,以下提供直接相关的专业回答:

HarmonyOS 鸿蒙Next在解码方面采用了全新的多媒体处理框架,该框架优化了音视频解码的效率和兼容性。若您遇到解码问题,首先请确认您的应用或设备是否已适配鸿蒙Next系统的最新API。在鸿蒙Next系统中,解码功能依赖于系统内置的解码器库,这些库针对常见的音视频格式进行了优化。

如果您在开发过程中遇到特定的解码错误,建议检查以下几点:

  1. 格式支持:确认您的音视频文件格式是否被鸿蒙Next系统支持。
  2. 资源分配:检查解码过程中是否有足够的内存和CPU资源。
  3. 错误日志:查看系统日志,找出解码失败的具体原因。
  4. API使用:确保您使用的解码API与鸿蒙Next系统的版本匹配,并遵循了正确的调用顺序。

此外,如果问题涉及特定硬件解码器的兼容性,可能需要与硬件供应商进行进一步的沟通。

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

回到顶部