HarmonyOS 水印相机、水印视频

HarmonyOS
2024-12-25 16:08:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

实时录制视频添加水印方法:通过监听相机预览流的 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 等直接绘制水印接口,若需要可自行编译或找三四方库咨询

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);
}
分享
微博
QQ
微信
回复
2024-12-25 19:06:30
相关问题
HarmonyOS 背景水印问题
468浏览 • 1回复 待解决
canvas如何实现水印效果
1242浏览 • 1回复 待解决
HarmonyOS 如何使用全局水印
159浏览 • 1回复 待解决
HarmonyOS 绘制水印如何实现?
320浏览 • 1回复 待解决
基于原生的水印添加能力
1055浏览 • 1回复 待解决
HarmonyOS是否支持图片添加水印
510浏览 • 1回复 待解决
HarmonyOS拍照后图片添加水印
115浏览 • 1回复 待解决
图片处理(加动态水印
440浏览 • 1回复 待解决
HarmonyOS windows级别添加水印
205浏览 • 1回复 待解决
HarmonyOS app全局水印怎么实现
58浏览 • 1回复 待解决
如何使用canvas添加水印
1666浏览 • 1回复 待解决
HarmonyOS 如何给图片增加文字水印
193浏览 • 1回复 待解决
HarmonyOS 拍照后的图片加水印
250浏览 • 1回复 待解决
HarmonyOS 使用canvas进行图片水印操作
182浏览 • 1回复 待解决
HarmonyOS 如何给 app 添加水印
651浏览 • 1回复 待解决
HarmonyOS 图片增加自定义水印
173浏览 • 1回复 待解决
HarmonyOS PDF添加水印后展示白屏
230浏览 • 1回复 待解决
HarmonyOS 如何在app内全页面添加水印
219浏览 • 1回复 待解决
HarmonyOS 有没有对UI添加水印的方法
252浏览 • 1回复 待解决