视频截图上传
enableContentInspect
开启/关闭视频截图上传。
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;
开启视频截图上传后,SDK 会根据你在 ContentInspectConfig
中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。
注:
-
调用该方法前,请确保已
联系技术支持
开通视频截图上传服务。 -
该方法依赖于视频截图上传动态库
libagora_content_inspect_extension.dll
,如果删除该动态库会导致无法正常开启该功能。
参数
参数名 | 描述 |
---|---|
enabled | 设置是否开启视频截图上传:
|
config | 视频截图上传配置。详见 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
takeSnapshot
获取视频截图。
virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;
该方法用于对指定用户的视频流进行截图,生成一张 JPG 格式的图片,并保存至指定的路径。
该方法是异步操作,调用返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 onSnapshotTaken
回调报告截图是否成功和获取截图的详情。
注意:
-
该方法需要在加入频道后调用。
-
该方法用于本地视频截图时,是对
ChannelMediaOptions
中指定发布的视频流进行截图。 -
如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
参数
参数名 | 描述 |
---|---|
uid | 用户 ID。如果要对本地用户的视频截图,则设为 0。 |
filePath | 截图的本地保存路径,需精确到文件名及格式, 例如:
|
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
takeSnapshotEx
获取视频截图。
virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0;
该方法用于对指定用户的视频流进行截图,生成一张 JPG 格式的图片,并保存至指定的路径。
该方法是异步操作,调用返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 onSnapshotTaken
回调报告截图是否成功和获取截图的详情。
注意:
-
该方法需要在调用
joinChannelEx
后调用。 -
该方法用于本地视频截图时,是对
ChannelMediaOptions
中指定发布的视频流进行截图。 -
如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
参数
参数名 | 描述 |
---|---|
connection | Connection 信息。详见 |
uid | 用户 ID。如果要对本地用户的视频截图,则设为 0。 |
filePath | 截图的本地保存路径,需精确到文件名及格式, 例如:
|
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见
错误码
了解详情和解决建议。
onSnapshotTaken
视频截图结果回调。
virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode) {
(void)uid;
(void)filePath;
(void)width;
(void)height;
(void)errCode;
}
成功调用 takeSnapshot
后,SDK 触发该回调报告截图是否成功和获取截图的详情。
参数
参数名 | 描述 |
---|---|
uid | 用户 ID。如果 |
filePath | 截图的本地保存路径。 |
width | 图片宽度(px)。 |
height | 图片高度(px)。 |
errCode | 截图成功的提示或失败的原因。
|