Skip to content

添加水印

说明

水印的位置是通过 rect 参数来指定的,rect 是一个四元组参数,其格式为 (x,y,width,height)

  • x:水印的坐标,取值范围为 [0, 1] 的浮点数。
  • y:水印的坐标,取值范围为 [0, 1] 的浮点数。
  • width:水印的宽度,取值范围为 [0, 1] 的浮点数。
  • height:是不用设置的,SDK 内部会根据水印图片的宽高比自动计算一个合适的高度。

参数设置举例:
如果当前视频的编码分辨率是 540 × 960,且 rect 参数设置为(0.1,0.1,0.2,0.0), 那么水印的左上坐标点就是(540 × 0.1,960 × 0.1)即(54,96),水印的宽度是 540 × 0.2 = 108px ,水印的高度会根据水印图片的宽高比由 SDK 自动算出。

方法名

setWatermark

用法

  • 用法如下:
js
module.setWatermark({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    let data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  complete: (res) => {
    // console.log(res)
  }
})
js
module.setWatermark({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    const data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  // complete: (res) => {
  //   console.log(res)
  // }
} as LevenOptions)
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject参数配置
    params.imageString水印图片,必须使用透明底色的 png 格式,支持网络地址
    params.xFloat水印相对于编码分辨率的归一化x坐标
    params.yFloat水印相对于编码分辨率的归一化y坐标
    params.widthFloat水印相对于编码分辨率的归一化宽度
    params.streamTypeFloat指定给哪一路画面设置水印,请参考【视频流类型
    successFunction执行成功的函数
    failFunction执行失败的函数
    completeFunction执行完成的函数,不管成功还是失败都会执行

视频流类型

名称描述
TRTC_VIDEO_STREAM_TYPE_BIG高清大画面,一般用来传输摄像头的视频数据
TRTC_VIDEO_STREAM_TYPE_SMALL低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低。
TRTC_VIDEO_STREAM_TYPE_SUB辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流。

注意

如果您要给主画面(一般为摄像头)和辅路画面(一般用作屏幕分享)同时设置水印,需要调用该接口两次,并设定不同的 streamType

回调

  • 示例
json
{
"data": {},
"message": "",
"code": 0
}
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    codeInteger返回类型,0.成功,其他:失败