获取云端转码资源

更新时间不可用

获取用于创建云端转码任务的 builderToken。

POST
https://api.sd-rtn.com/v1/projects/{appId}/rtsc/cloud-transcoder/builderTokens

Acquire 方法用于在开始云端转码前获取云端转码资源。

注意

  • 调用成功后,你可以在响应包体中得到一个 builderToken。一个 builderToken 仅可用于一次云端转码任务,同一时间仅允许一个 builderToken 运行任务。
  • builderToken 用于创建云端转码的有效期为 5 分钟。为确保成功进行云端转码,建议你在每次 Acquire 请求获取到 builderToken 后的 2 秒内立即发起对应的 Create 请求。
  • 成功创建后,如果需要调用 Update/Delete,请求中传入的 builderToken 需要和创建云端转码时传入的 builderToken 一致。
  • 在批量获取 builderToken 后进行批量 Create 请求可能导致请求失败。

鉴权

Basic Auth

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

路径参数

appIdstring
必填

声网为每个开发者提供的 App ID。在声网控制台创建一个项目后即可得到一个 App ID。一个 App ID 是一个项目的唯一标识。

请求 Header

Content-Typestring
必填

application/json

请求 Body

字段
instanceIdstring
必填

用户指定的实例 ID。长度必须在 64 个字符以内,支持的字符集范围为:

  • 所有小写英文字母(a-z)
  • 所有大写英文字母(A-Z)
  • 数字 0-9
  • "-", "_"

注意

一个 instanceId 可以生成多个 builderToken,但同一时间仅允许一个 builderToken 运行任务。

响应

如果状态码为 2XX,则请求成功。

响应 Header

X-Request-IDstring

UUID(通用唯一识别码),用于标识本次请求。

注意:如果请求出错,请在日志中打印出该值,排查问题。如果本次请求的响应状态码不是 2XX,那么响应 Header 中可能无该字段。

响应 Body

createTsnumber

生成 builderToken 时的 Unix 时间戳(秒)。

instanceIdstring

请求时设置的 instanceId。

tokenNamestring

代表 builderToken 的值,在后续调用其他方法时需要传入该值。

请求示例

Example Request
curl --request POST \
  --url "https://api.sd-rtn.com/v1/projects/:appId/rtsc/cloud-transcoder/builderTokens" \
  --header 'Authorization: Basic <credentials>' \
  -H 'Content-Type: application/json' \
  -d '{
  "instanceId": "abc13328",
  "services": {
    "cloudTranscoder": {
      "serviceType": "cloudTranscoderV2",
      "config": {
        "transcoder": {
          "idleTimeout": 300,
          "audioInputs": [
            {
              "rtc": {
                "rtcChannel": "test01",
                "rtcUid": 123,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              }
            },
            {
              "rtc": {
                "rtcChannel": "test01",
                "rtcUid": 456,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              }
            }
          ],
          "canvas": {
            "width": 960,
            "height": 480,
            "color": 0,
            "backgroundImage": "https://web-cdn.agora.io/website-files/images/new-home-2-banne-online-karaoke-bg.jpg",
            "fillMode": "FIT"
          },
          "waterMarks": [
            {
              "imageUrl": "https://web-cdn.agora.io/website-files/images/advantage-interactive-live-streaming.png",
              "region": {
                "x": 0,
                "y": 0,
                "width": 100,
                "height": 100,
                "zOrder": 50
              }
            }
          ],
          "videoInputs": [
            {
              "rtc": {
                "rtcChannel": "test01",
                "rtcUid": 123,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              },
              "placeholderImageUrl": "https://web-cdn.agora.io/website-files/images/new-home-2-banner-realtime-bg.jpg",
              "region": {
                "x": 0,
                "y": 0,
                "width": 320,
                "height": 360,
                "zOrder": 2
              }
            },
            {
              "rtc": {
                "rtcChannel": "test01",
                "rtcUid": 456,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              },
              "region": {
                "x": 320,
                "y": 0,
                "width": 320,
                "height": 320,
                "zOrder": 2
              }
            }
          ],
          "outputs": [
            {
              "rtc": {
                "rtcChannel": "test02",
                "rtcUid": 1000,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              },
              "audioOption": {
                "profileType": "AUDIO_PROFILE_MUSIC_STANDARD"
              },
              "videoOption": {
                "fps": 30,
                "codec": "H264",
                "bitrate": 800,
                "width": 960,
                "height": 480,
                "lowBitrateHighQuality": false
              }
            }
          ]
        }
      }
    }
  }
}'

响应示例

{
  "createTs": 1661324606,
  "instanceId": "abc13328",
  "tokenName": "nUwUbQf9Zg6tsgtLslGnDg0lk8RYaUE0***"
}