水印处理
RTCLib SDK 支持在视频流上添加水印。添加水印有两种控制方式,本文仅介绍方案一:
水印方案对比
方案一:客户端水印
使用客户端 SDK 提供的 setWaterMark:position: 方法添加图片水印。客户端发布的视频流即带有图片水印,因此订阅分流或合流的直播观众均会看到带水印的视频流。
适用场景:App 客户端用户自主添加个性化水印
方案二:服务端水印
使用服务端 API 的 /rtc/mcu/config 接口,在服务端处理,添加时间戳水印、文字水印或图片水印。这种方式支持为单人视频流或合流视频添加水印,但只有订阅合流的观众可看到带水印的视频流。
适用场景:App 添加统一风格的水印
提示
- 客户端与服务端添加的水印相互独立
- 如果同时使用,则订阅合流的观众可能会看到水印叠加
- 服务端水印方案请参见服务端文档直播合流
客户端水印设置
提示
SDK 从 5.1.16 版本开始,提供内置水印接口。
RTCLib SDK 内置了设置水印的接口,通过调用 RCRTCVideoOutputStream 的 setWaterMark:position: 方法即可为相机/自定义文件/共享桌面采集到的视频流添加水印。每一道视频流水印设置是独立的。
接口原型
Objective C
- (BOOL)setWaterMark:(nullable UIImage *)image position:(CGRect)position;