• SDK
  • 服务端功能&API
RTC Engine/
SDK/
Flutter/
高级功能/
SDK
  • 概览
    • 产品概述
    • 产品简介
      • 基本概念
      • 产品功能
      • 性能数据
    • 价格中心
      • 免费时长
      • RTC-Engine 包月套餐
      • 订阅套餐时长计费说明
      • 现收现付
        • 音视频时长计费说明
        • 云端录制与录制投递计费说明
        • 混流转码与旁路转推计费说明
        • Billing of Conversational AI Services
        • Billing of Speech-To-Text
  • 跑通 Demo
  • 集成
  • 基础功能
    • 开启屏幕共享
    • 检测网络质量
    • 旋转视频
    • 设置视频质量
  • 高级功能
    • 启用水印
    • 发送和接收消息
    • Enabling Beauty and Effects
  • 客户端API
    • API 概览
    • 错误码
  • 常见问题
    • 全平台
      • 新手常见问题
      • 迁移指南
        • Twilio 视频到腾讯 RTC
        • 计费相关
        • 功能相关
        • UserSig 相关
        • 应对防火墙限制相关
        • 缩减安装包体积相关
        • TRTCCalling Web 相关
        • 音视频质量相关
        • 其他问题
    • Flutter 相关
    • 发布日志
    • 升级指引

启用水印

本篇文档主要介绍如何在视频流上添加水印。

实现步骤

开启摄像头

trtcCloud.startLocalPreview(isFrontCamera, viewId);

添加水印

假设我们需要在主画面 (TRTC_VIDEO_STREAM_TYPE_BIG)添加本地图片 bg_main_title.png 作为水印:
trtcCloud.setWatermark("images/bg_main_title.png", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG, 0.3, 0.4, 0.4);
水印的位置是通过 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 自动算出。
注意:
水印图片必须使用透明底色的 png 格式。
通过 setWatermark 接口添加的水印在本地预览中不可见。要查看水印效果,您需要从远端获取已设置水印的用户流。

拉取带水印的视频流

在另一台设备上拉取添加了水印的用户的视频流。
trtcCloud.startRemoteView("denny", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG, viewId);

取消水印

通过传入空值,可以取消自身发布视频流中的水印。
trtcCloud.setWatermark("", TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG, 0.3, 0.4, 0.4);

在技术社区提问