更新指定的云端转码

更新时间不可用

更新指定云端转码任务的配置。

PATCH
https://api.sd-rtn.com/v1/projects/{appId}/rtsc/cloud-transcoder/tasks/{taskId}

Update 方法用于更新云端转码任务。通过 Acquire 和 Create 请求获取并创建 Cloud transcoder 后,你可以调用该接口更新 Cloud transcoder。

可更新字段

Update 请求支持修改如下字段:

  • 新增或删除 audioInputs[]、videoInputs[] 中的 rtc 成员,用于订阅或取消订阅频道内主播的音视频流。
  • 修改 videoInputs[] 中的 region 字段,用于更新主播的合图布局。
  • 修改 outputs[] 中的 audioOption、videoOption 字段,用于更新转码输出的音频和视频配置。

注意

  • 使用 Update 更新 Cloud transcoder 时,你的请求包体中需含有 Create 请求包体中的所有字段,对于不需要更新的字段,请维持原来的取值。
  • Create 请求创建 Cloud transcoder 时,支持音视频、纯音频、全频道混音三种场景。调用 Update 更新 Cloud transcoder 时,请保持使用场景一致,否则会发生异常。

鉴权

Basic Auth

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

路径参数

taskIdstring
必填

转码任务 ID,为 UUID,用于标识本次请求操作的 Cloud transcoder。

appIdstring
必填

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

查询参数

builderTokenstring
必填

通过 Acquire 方法的响应包体得到的 tokenName 的值。

注意

请确保填入的 builderToken 和你在 Create 接口中传入的 builderToken 一致。

sequenceIdstring
必填

Update 请求的序列号。取值需要大于 0。请确保后一次 Update 请求的序列号大于前一次 Update 请求的序列号。序列号可以确保声网服务器按照你指定的最新配置来更新 Cloud transcoder。

使用建议:声网推荐你在第一次调用 Update 时,将 sequence 设置为 1。在第二次调用 Update 时,将 sequence 设置为 2。在第三次调用 Update 时,将 sequence 设置为 3。依次类推。声网服务器会按照最新 Update 请求(即最大的序列号)更新 Cloud transcoder。

updateMaskstring
必填

指定的更新配置项。需要填为 services.cloudTranscoder.config,代表全量更新。

请求 Header

Content-Typestring
必填

application/json

请求 Body

字段

响应

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

响应 Header

X-Request-IDstring

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

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

请求示例

Example Request
curl --request PATCH \
  --url "https://api.sd-rtn.com/v1/projects/:appId/rtsc/cloud-transcoder/tasks/:taskId?builderToken=string&sequenceId=string&updateMask=string" \
  --header 'Authorization: Basic <credentials>' \
  -H 'Content-Type: application/json' \
  -d '{
  "services": {
    "cloudTranscoder": {
      "serviceType": "cloudTranscoderV2",
      "config": {
        "transcoder": {
          "idleTimeout": 300,
          "audioInputs": [
            {
              "rtc": {
                "rtcChannel": "test",
                "rtcUid": 123,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              }
            },
            {
              "rtc": {
                "rtcChannel": "test01",
                "rtcUid": 456,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              }
            }
          ],
          "canvas": {
            "width": 960,
            "height": 480,
            "color": 0,
            "backgroundImage": "https://example.jpg",
            "fillMode": "FIT"
          },
          "waterMarks": [
            {
              "imageUrl": "https://example.png",
              "region": {
                "x": 0,
                "y": 0,
                "width": 120,
                "height": 120,
                "zOrder": 50
              }
            }
          ],
          "videoInputs": [
            {
              "rtc": {
                "rtcChannel": "test01",
                "rtcUid": 123,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              },
              "placeholderImageUrl": "https://example.jpg",
              "region": {
                "x": 0,
                "y": 0,
                "width": 320,
                "height": 360,
                "zOrder": 2
              }
            },
            {
              "rtc": {
                "rtcChannel": "test01",
                "rtcUid": 456,
                "rtcToken": "aab8b8f5a8cd4469a63042fcfafe7***"
              },
              "placeholderImageUrl": "https://example.jpg",
              "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
              }
            }
          ]
        }
      }
    }
  }
}'

响应示例

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