获取云端录制资源

更新时间不可用

获取用于云端录制任务的 Resource ID。

POST
https://api.sd-rtn.com/v1/apps/{appid}/cloud_recording/acquire

acquire 方法用于获取云端录制资源。

在开始云端录制之前,你需要调用 acquire 方法获取一个 Resource ID。一个 Resource ID 只能用于一次云端录制服务。

注意

  • acquire 和 start 的请求需配对调用。
  • 在每次 acquire 请求获取到 Resource ID 后的 2 秒内立即发起对应的 start 请求。批量获取 Resource ID 后进行批量 start 请求可能导致请求失败。如请求失败,请再次调用 acquire 获得一个新的 Resource ID,并用该 Resource ID 再次调用 start 方法。

路径参数

appidstring
必填

你的项目使用的 App ID。

  • 对于页面录制模式,只需输入开通了云端录制服务的 App ID。
  • 对于单流和合流录制模式,必须使用和待录制的频道相同的 App ID,且该 App ID 需要开通云端录制服务。

请求 Header

Authorizationstring
必填

声网云端录制 RESTful API 仅支持 HTTPS 协议。发送请求时,你需要使用声网提供的客户 ID 和客户密钥生成 Base64 编码凭证,并填入请求头部的 Authorization 字段中。详见实现 HTTP 基本认证。

Content-Typestring

application/json。

请求 Body

字段
cnamestring
必填

频道名:

  • 对于单流录制和合流录制模式,该字段用于设置待录制的频道名。
  • 对于页面录制模式,该字段用于区分录制进程。字符串长度不得超过 128 字节。 注意:通过 appid、cname 和 uid 可以定位一个唯一的录制实例。因此,如果你想针对同一个频道进行多次录制,可以使用相同的 appId 和 cname,以及不同的 uid 来进行管理和区分。
uidstring
必填

字符串内容为云端录制服务在频道内使用的 UID,用于标识频道内的录制服务,例如 "527841"。字符串内容需满足以下条件:

  • 取值范围 1 到 (232-1),不可设置为 0。
  • 不能与当前频道内的任何 UID 重复。
  • 字段引号内为整型 UID,且频道内所有用户均使用整型 UID。
scenenumber

云端录制资源使用场景:

  • 0:单流录制、合流录制。
  • 1:页面录制。
resourceExpiredHournumber

云端录制 RESTful API 的调用时效。从成功开启云端录制并获得 sid (录制 ID)后开始计算。单位为小时。
注意:超时后,你将无法调用 query,update,updateLayout 和 stop 方法。

excludeResourceIdsarray<string>

另一路或几路录制任务的 resourceId。该字段用于排除指定的录制资源,以便新发起的录制任务可以使用新区域的资源,实现跨区域多路录制。详见多路任务保障。

regionAffinitynumber

指定使用某个区域的资源进行录制。支持取值如下:

  • 0: 根据发起请求的区域就近调用资源。
  • 1: 中国。
  • 2: 东南亚。
  • 3: 欧洲。
  • 4: 北美。 注意:
  • 为加速录制文件上传,当你使用的云存储区域和你发起请求的区域不同时,建议你将该字段设为云存储区域。
  • 指定区域可用容量不足时,会依据地理位置就近溢出。

设置该字段后,可以提升可用性并优化负载均衡。

注意

如果填写该字段,则必须确保 startParameter object 和后续 start 请求中填写的 clientRequest object 完全一致,且取值合法,否则 start 请求会收到报错。

响应

如果返回的 HTTP 状态码为 200,表示请求成功。

如果你在请求 Body 里设置 startParameter object,当其取值不合法时,不影响 acquire 请求成功,但是在后续 start 请求会收到报错。

响应 Body

cnamestring

录制的频道名。

uidstring

字符串内容为云端录制服务在 RTC 频道内使用的 UID,用于标识频道内的录制服务。

resourceIdstring

云端录制资源 Resource ID。使用这个 Resource ID 可以开始一段云端录制。这个 Resource ID 的有效期为 5 分钟,超时需要重新请求。

请求示例

curl --request POST \
  --url "https://api.sd-rtn.com/v1/apps/:appid/cloud_recording/acquire" \
  --header 'Authorization: Basic <credentials>' \
  -H 'Content-Type: application/json' \
  -d '{
  "cname": "<your_channel_name>",
  "uid": "<unique_user_id>",
  "clientRequest": {
    "scene": 0,
    "resourceExpiredHour": 24
  }
}'

响应示例

{
  "cname": "录制的频道名。",
  "uid": "字符串内容为云端录制服务在 RTC 频道内使用的 UID,用于标识频道内的录制服务。",
  "resourceId": "云端录制资源 Resource ID。使用这个 Resource ID 可以开始一段云端录制。这个 Resource ID 的有效期为 5 分钟,超时需要重新请求。"
}