更新指定 Converter

更新时间不可用

在项目中更新指定 Converter 的配置。

PATCH
https://api.sd-rtn.com/{region}/v1/projects/{appId}/rtmp-converters/{converterId}

Update 请求的 Body 字段设置较为复杂,请阅读如下文档后再进一步了解本文的字段说明:

鉴权

Basic Auth

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

路径参数

regionstring
必填

Converter 所在的区域,必须与创建 Converter 时设置的 region 一致。

appIdstring
必填

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

converterIdstring
必填

Converter 的 ID。

查询参数

sequencenumber

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

推荐用法:声网推荐你在第一次调用 Update 时,将 sequence 填 0。在第二次调用 Update 时,将 sequence 填 1。在第三次调用 Update 时,将 sequence 填 2。依次类推。声网服务器会按照最新 Update 请求(即最大的序列号)更新 Converter。

请求 Header

Content-Typestring
必填

application/json

X-Request-IDstring

UUID(通用唯一识别码),标识本次请求。推荐你赋值,赋值后,声网服务器会在响应 Header 中返回一个对应的 X-Custom-Request-ID 字段,你可以用此进行问题排查。如果你不赋值,那么声网服务器会自动生成一个 UUID 并在响应 Header 中返回一个对应的 X-Request-ID 字段。

请求 Body

Update 请求可更新转码推流和不转码推流的 Converter。

注意

Update 不支持更新 Converter 的如下配置:

  • name
  • idleTimeOut
  • transcodeOptions.rtcChannel
  • transcodeOptions.audioOptions.codecProfile
  • transcodeOptions.audioOptions.sampleRate
  • transcodeOptions.audioOptions.bitrate
  • transcodeOptions.audioOptions.audioChannels
  • transcodeOptions.videoOptions.codec
  • transcodeOptions.videoOptions.codecProfile
字段
fieldsstring
必填

JSON 编码方式的字段掩码,详见谷歌 protobuf FieldMask 文档。用于描述更新的 converter object 中包含的字段集合。

示例:

{
    "converter": {
        "rtmpUrl": "rtmp://example.agora.io/live/show68_backup"
    },
    "fields": "rtmpUrl"
}

在本示例中,fields 描述 converter object 中更新 rtmpUrl 字段。

注意:更新多个字段时,fields 中填写的各字段必须用英文逗号分隔,且逗号后无空格。例如,"fields": "a,b"。

响应

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

响应 Header

X-Request-IDstring

UUID(通用唯一识别码),标识本次请求。该值为本次请求 Header 中 X-Request-ID。如果请求出错,请在日志中打印出该值,排查问题。如果你已在请求 Header 中对 X-Request-ID 赋值,那么你在响应中收到的参数名为 X-Custom-Request-ID,而非 X-Request-ID。

X-Resource-IDstring

UUID(通用唯一识别码),标识本次请求创建的 Converter 的 ID。

响应 Body

字段
fieldsstring

JSON 编码方式的字段掩码,详见谷歌 protobuf FieldMask 文档。用于描述返回的 converter object 中包含的字段集合。

示例:

{
    "converter": {
      "id": "4c014467d647bb87b60b719f6fa57686",
      "createTs": 1591786766,
      "updateTs": 1591788746,
      "state": "running"
    },
    "fields": "id,createTs,updateTs,state"
}

在本示例中,fields 描述返回的 converter object 中包含 id、createTs、updateTs、state 字段。

请求示例

Example Request
curl --request PATCH \
  --url "https://api.sd-rtn.com/:region/v1/projects/:appId/rtmp-converters/:converterId" \
  --header 'Authorization: Basic <credentials>' \
  --header 'X-Request-ID: <string>' \
  -H 'Content-Type: application/json' \
  -d '{
  "converter": {
    "rtmpUrl": "rtmp://example.agora.io/live/show68_backup"
  },
  "fields": "rtmpUrl"
}'

响应示例

{
  "converter": {
    "id": "Converter 的 ID,是声网服务器生成的一个 UUID(通用唯一识别码),标识一个已创建的 Converter。",
    "createTs": "创建 Converter 时的 Unix 时间戳(秒)。",
    "updateTs": "最近一次更新 Converter 配置时的 Unix 时间戳(秒)。",
    "state": "Converter 的运行状态:\n- `\"connecting\"`: 正在连接声网推流服务器和 CDN 服务器。\n- `\"running\"`: 正在进行推流。\n- `\"failed\"`: 推流失败。"
  },
  "fields": "JSON 编码方式的字段掩码,详见[谷歌 protobuf FieldMask 文档](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask)。用于描述返回的 `converter` object 中包含的字段集合。<p>\n示例:\n```json\n{\n    \"converter\": {\n      \"id\": \"4c014467d647bb87b60b719f6fa57686\",\n      \"createTs\": 1591786766,\n      \"updateTs\": 1591788746,\n      \"state\": \"running\"\n    },\n    \"fields\": \"id,createTs,updateTs,state\"\n}\n```\n在本示例中,`fields` 描述返回的 `converter` object 中包含 `id`、`createTs`、`updateTs`、`state` 字段。"
}