更新订阅名单
更新时间: 2024/03/25 11:00:41
在录制过程中,您可以随时调用此接口更新录制任务的订阅名单,包括音频的订阅白名单或黑名单、视频的订阅白名单或黑名单,订阅名单更新实时生效。
功能描述
您可以在创建云端录制任务时,通过 streamSubscribe
指定音频和视频的订阅黑白名单。也可以在录制过程中,更新音频和视频的订阅黑白名单。
设置音频订阅名单
当订阅录制音频流时,通过 streamSubscribe.audioUidList
设置音频订阅名单。不可同时设置黑名单和白名单。
audioUidList.unSubscribeUids
:设置音频订阅黑名单,即不订阅哪些用户的音频流。audioUidList.subscribeUids
:设置音频订阅白名单,即订阅哪些用户的音频流。
设置视频订阅名单
当订阅录制视频流时,通过 streamSubscribe.videoUidList
设置视频订阅名单。不可同时设置黑名单和白名单。
videoUidList.unSubscribeUids
:设置视频订阅黑名单,即不订阅哪些用户的视频流。videoUidList.subscribeUids
:设置视频订阅白名单,即订阅哪些用户的视频流。
注意事项
- 如果
streamSubscribe
中的streamType
设置为 0,表示仅订阅音频流,此时不可设置videoUidList
指定视频订阅名单,否则会报错 414;如果streamSubscribe
中的streamType
为 1,表示仅订阅视频流,此时不可设置audioUidList
指定音频订阅名单,否则同样会报错 414。 - 当订阅的 UID 超过 9 人时,云端录制按 UID 加入房间的时间顺序,展示前 9 个 UID 的视频。当某个订阅的 UID 离开房间,云端录制会自动展示第 10 个加入房间的 UID,以此类推。
- 如果设置订阅音频流,但未设置音频订阅名单,此时默认订阅全部 UID 的音频流,视频订阅名单的逻辑也同理。例如
streamSubscribe
中的streamType
维持默认值 2,表示同时订阅音频和视频流,此时设置了音频的订阅名单,但没有设置视频的订阅名单,则订阅所有 UID 的视频流。 - 设置订阅名单时,同一媒体流类型的黑名单与白名单不可同时设置,例如您只能设置音频的黑名单或白名单。
URL
- 请求方法:POST
- URL:网易云信为该功能提供以下两个 API 请求地址,使用 V3 地址需在 URL 中指定 cname,您可以根据业务需求调用任一接口。
https://logic-dev.netease.im/v2/api/cloudrecord/updateSubs
https://logic-dev.netease.im/v3/api/cloudrecord/updateSubs?cname={cname}
URL 中参数说明:
参数名称 |
类型 |
示例 | 描述 |
---|---|---|---|
cname | String | abc | 房间名称。仅在调用 V3 接口时需要设置。 |
接口请求频率
默认上限为 50 次/秒,若请求频率超出限制,可能会返回 429 错误码。
若您需要上调上限,请参考如何处理调用服务端 RESTful API 超出频率限制。
请求参数
-
请求中 Header 的设置请参考请求结构描述。
-
请求中 Body 须为 JSON 格式,参数说明如下:
参数名称 | 类型 | 是否必选 | 示例 | 描述 |
---|---|---|---|---|
cid | Number | 必选,仅适用于 V2 接口 | 123456 | 房间 ID。该 ID 为创建房间接口调用成功后返回的房间 ID。仅在调用 V2 接口时需要设置。 |
taskId | String | 必选 | 1143932537695968 | 任务唯一标识符,房间内唯一。 调用添加录制任务接口后,可在返回 body 中获取 taskId。 |
streamSubscribe | streamSubscribe | 必选 | 设置音视频录制订阅的黑白名单。 |
返回参数
云端录制相关接口返回参数中,业务相关参数封装在 record
参数中,其中包括:
参数名称 | 类型 | 示例 | 描述 |
---|---|---|---|
taskId | String | 1143932537695968 | 任务唯一标识符,房间内唯一。 |
cid | Number | 123456 | 房间 ID。 |
请求示例
音视频流部分订阅
{
"cid": 114435***7184,
"taskId":"23d73e2ae2c74135a732c8d24739b71d8723",
"streamSubscribe":{
"streamType":2,
"audioUidList":{
"subscribeUids":[
4455,
66602
]
},
"videoUidList":{
"subscribeUids":[
4455,
66602
]
}
}
}
音视频流全订阅
{
"cid": 114435***7184,
"taskId":"23d73e2ae2c74135a732c8d24739b71d8723",
"recordConfig":{
"recordtype":0
}
}
音频流全订阅
{
"cid": 114435***7184,
"taskId":"23d73e2ae2c74135a732c8d24739b71d8723",
"recordConfig":{
"recordtype":0
},
"streamSubscribe":{
"streamType":0,
"audioUidList":{
"unSubscribeUids":[
]
}
}
视频流全订阅
{
"cid": 114435***7184,
"taskId":"23d73e2ae2c74135a732c8d24739b71d8723",
"recordConfig":{
"recordtype":0
},
"streamSubscribe":{
"streamType":1,
"videoUidList":{
"unSubscribeUids":[
]
}
}
返回示例
{
"code": 200
}
状态码
返回内容中,code 为 200 表示调用正常,若 code 为其他值,请根据 code 与 errmsg 在云端录制相关错误码中查看问题原因与解决方法。
此文档是否对你有帮助?