直播水印
addVideoWatermark [1/2]
添加本地视频水印。
- (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark
该方法已废弃,请使用
addVideoWatermark [2/2]
作为替代。
该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户,旁路推流观众,甚至采集设备都能看到或采集到该水印图片。如果你仅仅希望在旁路直播推流中添加水印,请参考 setLiveTranscoding
中描述的用法。
注意:
-
在本地直播和旁路推流中,URL 的定义不同。本地直播中,URL 指本地直播视频上图片的本地绝对/相对路径;旁路推流中,URL 指旁路推流视频上图片的地址。
-
待添加图片的源文件格式必须是 PNG。如果待添加的 PNG 图片的尺寸与你该方法中设置的尺寸不一致,SDK 会对 PNG 图片进行裁剪,以与设置相符。
-
声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
参数
参数名 | 描述 |
---|---|
watermark | 待添加在本地直播推流中的水印图片: |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
addVideoWatermark [2/2]
添加本地视频水印。
- (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options;
该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户、旁路直播观众和采集设备都能看到或采集到该水印图片。当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
水印坐标和 setVideoEncoderConfiguration
方法中的设置有依赖关系:
-
如果视频编码方向(
AgoraVideoOutputOrientationMode
)固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。 -
如果视频编码方向(
AgoraVideoOutputOrientationMode
)固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。 -
设置水印坐标时,水印的图像区域不能超出
setVideoEncoderConfiguration
方法中设置的视频尺寸,否则超出部分将被裁剪。
注意:
-
你需要在调用
enableVideo
方法之后再调用该方法。 -
如果你只是在旁路推流时添加水印,你可以使用该方法或
setLiveTranscoding
方法设置水印。 -
待添加水印图片必须是 PNG 格式。该方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 Alpha_gray。
-
如果待添加的 PNG 图片的尺寸与你在该方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
-
如果你已经使用
startPreview [2/2]
方法开启本地视频预览,那么该方法的visibleInPreview
可设置水印在预览时是否可见。 -
如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。
参数
参数名 | 描述 |
---|---|
url | 待添加的水印图片的本地路径。该方法支持从本地绝对/相对路径添加水印图片。 |
options | 待添加的水印图片的设置选项,详见 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
addVideoWatermarkEx
添加本地视频水印。
- (int)addVideoWatermarkEx:(NSURL* _Nonnull)url
options:(WatermarkOptions* _Nonnull)options
connection:(AgoraRtcConnection * _Nonnull)connection;
该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户、旁路直播观众和采集设备都能看到或采集到该水印图片。当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
水印坐标和 setVideoEncoderConfigurationEx
方法中的设置有依赖关系:
-
如果视频编码方向(
AgoraVideoOutputOrientationMode
)固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。 -
如果视频编码方向(
AgoraVideoOutputOrientationMode
)固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。 -
设置水印坐标时,水印的图像区域不能超出
setVideoEncoderConfigurationEx
方法中设置的视频尺寸,否则超出部分将被裁剪。
注意:
-
你需要在调用
enableVideo
方法之后再调用本方法。 -
待添加水印图片必须是 PNG 格式。本方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 Alpha_gray。
-
如果待添加的 PNG 图片的尺寸与你在本方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
-
如果你已经使用
startPreview [2/2]
方法开启本地视频预览,那么本方法的visibleInPreview
可设置水印在预览时是否可见。 -
如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。
参数
参数名 | 描述 |
---|---|
url | 待添加的水印图片的本地路径。该方法支持从本地绝对/相对路径添加水印图片。 |
options | 待添加的水印图片的设置选项,详见 |
connection | Connection 信息。详见 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
clearVideoWatermarks
clearVideoWatermarkEx
删除已添加的视频水印。
- (int)clearVideoWatermarkEx:(AgoraRtcConnection * _Nonnull)connection;
参数
参数名 | 描述 |
---|---|
connection | Connection 信息。详见 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。