uni-app HDR视频处理有问题

发布于 1周前 作者 itying888 来自 Uni-App

uni-app HDR视频处理有问题

HDR视频使用video播放视频颜色发白,使用uni.compressVideo 或plus.zip.compressVideo压缩HDR视频会使视频宽高互换,附件中无法上传HDR视频 ,可通过这个链接下载 [https://flying-app.oss-cn-hangzhou.aliyuncs.com/socialize/hdr.mp4](https://flying-app.oss-cn-hangzhou.aliyuncs.com/socialize/hdr.mp4)

10 回复

在什么设备上有问题?


ios 和 安卓 视频都会发白,使用自定义基座时HDR类型的视频都会宽高互换

回复 a***@163.com: 这个视频做一次裁剪把,几秒钟就可以,这个太大了,压缩起来比较费时间。

回复 DCloud_Android_zl: 我重新给你个短的

回复 DCloud_Android_zl: 这个是HDR的,杜比世界也会有相同的问题,您先看这个

回复 DCloud_Android_zl: 我测试了下,安卓uni.compressVideo compressed=true时视频正常,ios都不正常。宽高互换标准基座不会出现,自定义基座会

18800264240,如果没及时恢复您您可以直接联系我

感谢您关注这个问题,我们确实被这个问题造成了很多困扰

针对您提到的uni-app中HDR视频处理存在的问题,由于HDR(High Dynamic Range)视频处理涉及复杂的图像处理算法和硬件支持,直接在uni-app这样的跨平台框架中处理可能会遇到诸多限制。不过,我们可以尝试结合一些原生插件或利用云服务来完成HDR视频的处理。以下是一个大致的思路和代码示例,展示如何通过调用原生插件(假设已有一个支持HDR处理的原生插件)来处理HDR视频。

步骤概述

  1. 集成原生插件:首先,需要确保有一个支持HDR视频处理的原生插件,并集成到uni-app项目中。
  2. 调用插件方法:在uni-app中调用该插件提供的HDR处理功能。
  3. 处理结果:接收并处理插件返回的结果。

代码示例

假设我们有一个名为HDRVideoProcessor的原生插件,它提供了一个processHDRVideo方法来处理HDR视频。

1. 集成原生插件(伪代码)

manifest.json中配置原生插件:

"nativePlugins": [
    {
        "name": "HDRVideoProcessor",
        "class": "com.example.HDRVideoProcessor",
        "methods": ["processHDRVideo"]
    }
]

2. 调用插件方法(JavaScript)

在uni-app的页面或组件中调用插件方法:

// 引入uni-app的原生模块
const nativeModule = uni.requireNativePlugin('HDRVideoProcessor');

// 定义视频路径和处理回调
const videoPath = '/path/to/your/hdr/video.mp4';
const callback = (result) => {
    if (result.success) {
        console.log('HDR视频处理成功:', result.data);
    } else {
        console.error('HDR视频处理失败:', result.error);
    }
};

// 调用原生插件的HDR处理方法
nativeModule.processHDRVideo({
    videoPath: videoPath,
    success: (res) => {
        callback({ success: true, data: res });
    },
    fail: (err) => {
        callback({ success: false, error: err });
    }
});

注意

  • 原生插件开发:上述代码示例假设已经存在一个支持HDR视频处理的原生插件。如果没有,需要开发一个原生插件,这涉及到Android和iOS平台的原生开发。
  • 云服务:如果原生开发不是选项,可以考虑将HDR视频上传到云服务进行处理,然后下载处理后的视频。
  • 性能与兼容性:HDR视频处理对设备性能要求较高,且不同设备的兼容性可能有所不同,需进行充分的测试。

通过上述方法,可以在uni-app项目中实现对HDR视频的处理,但具体实现细节将依赖于原生插件的功能和性能。

回到顶部