addVideoWatermark method Null safety

Future<void> addVideoWatermark(
  1. String watermarkUrl,
  2. WatermarkOptions options
)

添加本地视频水印。

该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的观众、旁路直播观众和录制设备都能看到或采集到该水印图片。 Agora 当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。

水印坐标和 RtcEngine.setVideoEncoderConfiguration 方法中的设置有依赖关系:

  • 如果视频编码方向/ORIENTATION_MODE 固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。
  • 如果视频编码方向/ORIENTATION_MODE 固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。
  • 设置水印坐标时,水印的图像区域不能超出 RtcEngine.setVideoEncoderConfiguration 方法中设置的视频尺寸,否则超出部分将被裁剪。

Note

  • 你需要在调用 RtcEngine.enableVideo 方法之后再调用本方法。
  • 如果你只是在旁路直播(推流到CDN)中添加水印,你可以使用本方法或 RtcEngine.setLiveTranscoding 方法设置水印。
  • 待添加图片必须是 PNG 格式。本方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 Alpha_gray。
  • 如果待添加的 PNG 图片的尺寸与你在本方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
  • 如果你已经使用 RtcEngine.startPreview 方法开启本地视频预览,那么本方法的 visibleInPreview 可设置水印在预览时是否可见。
  • 如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像, Agora 建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。

Parameter watermarkUrl 待添加的水印图片的本地路径。本方法支持从本地路径和 assets 路径添加水印图片。如果使用 assets 路径,需要以 /assets/ 开头。

Parameter options 待添加的水印图片的设置选项。详见 WatermarkOptions

Implementation

@override
Future<void> addVideoWatermark(
    String watermarkUrl, WatermarkOptions options) {
  return _invokeMethod('addVideoWatermark', {
    'watermarkUrl': watermarkUrl,
    'options': options.toJson(),
  });
}