HarmonyOS鸿蒙Next水印相机、水印视频

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

HarmonyOS鸿蒙Next水印相机、水印视频 如何对视频添加水印,类似于水印相机

5 回复

通过监听相机预览流的 imageArrival 事件,获取预览帧: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5#on9

获取预览帧后,对每一帧图片添加水印,图片添加水印案例, https://developer.huawei.com/consumer/cn/forum/topic/0207151268119912225?fid=0109140870620153026

将添加水印的后的图片 buffer,喂给编码器合成视频, https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/video-encoding-V5

以上做法的问题:仅能处理视频流,音频流需要使用 OHAudio Kit 录制 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-audiocapturer-for-recording-V5

添加水印可以使用三方 ffmpeg 命令实现 videoPath:沙箱视频源 waterPath:沙箱中的水印图片(也可以自行通过 Canvas 绘制) outMP4:输出视频

依赖三方库,直接调用 ffmepg 命令,但三方库不支持 drawtext 等直接绘制水印接口,若需要可自行编译或找三四方库同事咨询

@ohos/mp4parser: 2.0.3-rc.0

public static addWaterMark(videoPath: string) {
let basePath = GlobalContext.getContext().cacheDir;

let sourceMP4 = basePath + "/" + videoPath;
let outMP4 = basePath + "/out.mp4";
fileIo.openSync(outMP4, fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE);
let callBack: ICallBack = {
callBackResult(code: number) {
console.info("error " + code);
}
}
let waterPath = basePath + "/result.png"
// ffmpeg -hide_banner -i /data/storage/el2/base/haps/entry/cache/video1.mp4 -i /data/storage/el2/base/haps/entry/cache/water.jpg -filter_complex overlay=x=0:y=0 /data/storage/el2/base/haps/entry/cache/out.mp4 -y
let cmd = 'ffmpeg -hide_banner -i ' + sourceMP4 + " -i " + waterPath + " -filter_complex overlay=x=0:y=0 " + outMP4+ " -y"
MP4Parser.ffmpegCmd(cmd, callBack);
}

更多关于HarmonyOS鸿蒙Next水印相机、水印视频的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


您好,请问您这边解决了给视频添加水印的功能了吗?

您好,请问您这边解决了给视频添加水印的功能了吗? 方便给个demo参考下吗?

HarmonyOS鸿蒙Next中的水印相机和水印视频功能是系统内置的多媒体工具,主要用于在拍摄的照片或录制的视频上添加自定义水印。水印可以包括时间、地点、设备信息或其他用户定义的文本或图像。这些功能通常用于增强内容的识别性、版权保护或个人风格展示。

在鸿蒙系统中,水印相机和水印视频的实现依赖于HarmonyOS的分布式能力和多媒体框架。系统通过调用底层的图像处理引擎和视频编码器,结合分布式数据管理,实现水印的实时叠加和渲染。开发者可以通过HarmonyOS的API接口,调用相关功能,自定义水印的内容、位置、透明度等属性。

水印相机和水印视频的开发主要涉及以下技术点:

  • 图像处理引擎:用于实时处理相机捕获的图像数据,叠加水印。
  • 视频编码器:用于处理视频流数据,确保水印在视频中的稳定显示。
  • 分布式数据管理:支持在多设备间同步水印设置和内容。
  • API接口:提供开发者调用水印功能的接口,支持自定义水印样式。

这些功能在鸿蒙Next中得到了优化,性能更高效,用户体验更流畅。

HarmonyOS Next是华为推出的全新操作系统,其水印相机和水印视频功能旨在为用户提供更丰富的拍摄体验。水印相机允许用户在照片上添加时间、地点、天气等个性化信息,提升照片的实用性和趣味性。水印视频功能则支持在视频中添加动态水印,增强视频的版权保护和品牌展示。这些功能不仅提升了用户创作的自由度,也为内容创作者提供了更多的表达方式。

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