更新订阅名单

更新时间: 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 在云端录制相关错误码中查看问题原因与解决方法。

此文档是否对你有帮助?
有帮助
去反馈
  • 功能描述
  • 注意事项
  • URL
  • 接口请求频率
  • 请求参数
  • 返回参数
  • 请求示例
  • 音视频流部分订阅
  • 音视频流全订阅
  • 音频流全订阅
  • 视频流全订阅
  • 返回示例
  • 状态码