HarmonyOS 鸿蒙Next视频帧数据是否能获取到yuv分量

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

HarmonyOS 鸿蒙Next视频帧数据是否能获取到yuv分量 目前通过此文档 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/image-receiver-native-V5 native图片接收器来获取视频帧的yuv数据,设置类型为jpeg最终获取到的imgComponent.byteBuffer是nv21数据,这个是没有问题的,但是我们内部觉得还是缺少了类似android那种HardwarwBuffer的概念,可以通过Desc去可以直接获取HardwarwBuffer,可以很明确的获取到y、u、v的planes,这个是我们想要的。


更多关于HarmonyOS 鸿蒙Next视频帧数据是否能获取到yuv分量的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

读取yuv的方式如下:

读取yuv图像(nv21)可参考如下方式:

buf[0] = new unsigned char[width * height]; // y
buf[1] = new unsigned char[width * height / 4]; // u
buf[2] = new unsigned char[width * height / 4]; // v
if (feof(fp) == 0) {
    fread(buf[0], 1, width * height, fp);
    fread(buf[1], 1, width * height / 4, fp);
    fread(buf[2], 1, width * height / 4, fp);
    return true;
}

更多关于HarmonyOS 鸿蒙Next视频帧数据是否能获取到yuv分量的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next视频帧数据确实可以获取到YUV分量。在鸿蒙系统中,视频处理框架通常支持从视频流中提取帧数据,并允许开发者访问这些数据的原始格式,包括YUV分量。

YUV是一种颜色编码方法,其中Y代表亮度(Luminance)或明亮度,而U和V是色度(Chrominance)或色度坐标,用于表示色调和饱和度。在视频处理中,YUV格式常用于表示未压缩的视频帧数据,因为它允许对亮度和色度进行独立的处理,从而在某些应用场景下提高视频压缩效率和图像质量。

在鸿蒙系统中,开发者可以通过相应的API接口或视频处理库来获取视频帧的YUV数据。这些API或库通常提供了从视频流中解码帧、提取YUV数据以及进行后续处理的功能。

请注意,获取YUV分量的具体实现方式可能因鸿蒙系统的不同版本和具体应用场景而有所不同。因此,开发者在实际开发中需要参考鸿蒙系统的官方文档或API指南,以确保正确实现YUV数据的获取和处理。

如果问题依旧没法解决请联系官网客服,官网地址是:

https://www.itying.com/category-93-b0.html

回到顶部