HarmonyOS 鸿蒙Next 给视频添加水印

HarmonyOS 鸿蒙Next 给视频添加水印 请问一下,怎么可以将上传的视频添加水印

2 回复

添加水印可以使用三方 ffmpeg 命令实现[@ohos/mp4parser](https://gitee.com/changsanjiang/ffmpeg_harmony_os)

videoPath:沙箱视频源

waterPath:沙箱中的水印图片(也可以自行通过 Canvas 绘制)

outMP4:输出视频

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

参考demo

import {MP4Parser} from "[@ohos](/user/ohos)/mp4parser";

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


在HarmonyOS(鸿蒙)系统中为视频添加水印,可以通过以下几种方式实现,但具体实现细节可能依赖于你所使用的开发工具或框架。以下是几种可能的方法:

  1. 使用鸿蒙原生API: 鸿蒙系统提供了丰富的多媒体处理API,你可以查阅鸿蒙开发文档,了解如何使用这些API来处理视频文件,包括添加水印。这通常涉及到对视频帧的访问和修改。

  2. 借助第三方库: 在鸿蒙的应用市场中,可能存在一些第三方库或SDK,专门用于视频处理,包括添加水印功能。你可以搜索并集成这些库到你的应用中。

  3. 使用FFmpeg: FFmpeg是一个强大的开源多媒体处理工具,支持在多种平台上运行,包括鸿蒙。你可以尝试在鸿蒙系统上编译和运行FFmpeg,利用其丰富的功能来添加水印。

  4. 云服务: 如果本地处理性能有限,你可以考虑将视频上传到云端服务器,利用云端的处理能力来添加水印,然后再将处理后的视频下载回本地。

请注意,以上方法可能需要一定的编程知识和对鸿蒙系统的了解。如果你在实现过程中遇到困难,建议查阅鸿蒙的官方文档或相关开发社区。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部