创建或重置流配置模板

更新时间不可用

创建或重置指定的流配置模板。

PUT
https://api.sd-rtn.com/{region}/v1/projects/{appId}/rtls/ingress/stream-templates/{templateId}

该方法创建一个流配置模板(Stream Template)。在流配置模板中,你可以配置视频或音频流的转码参数,以及用于缓解网络延迟的参数。

每个 App ID 下最多可以创建 10 个流配置模板,每个流配置模板都有唯一的 ID 标识(templatedId)。在创建流配置模板时,你需要为其指定一个 templateId。如果该 templateId 对应的模板已经存在,则会以传入的 Body 数据重置整个流配置模板的值。

流配置模板有两种使用方式,可结合使用:

  • 为 App ID 指定全局的流配置模板:该 App ID 下所有的推流码(Stream Key),默认都会使用该模板;
  • 为特定的推流码指定特定的流配置模板:使用该推流码推流时,就会使用特定的流配置模板。

注意

所有 App ID 默认情况下不设置流配置模板,即不会默认开启视频转码。

鉴权

Basic Auth

HTTP 基本认证:每次发送 HTTP 请求时,都必须在请求 Header 部填入 Authorization 字段。关于如何生成该字段的值,请参考实现 HTTP 基本认证。

API Key

HTTP HMAC 认证:每次发送 HTTP 请求时,都必须在请求 Header 部填入 Authorization 字段。关于如何生成该字段的值,请参考实现 HTTP HMAC 认证。

路径参数

regionstring
必填

使用 RTMP 网关的区域。声网支持分区域创建推流码,目前支持以下区域:

  • cn:中国大陆
  • ap:除中国大陆以外的亚洲区域
  • na:北美
  • eu:欧洲

注意

  • 请确保设置的 region 与输入的源流在同一个区域。
  • 请确保设置的 region 与推流使用的域名在同一个区域。
  • 请确保传入 region 的值为小写。
appIdstring
必填

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

templateIdstring
必填

流配置模板 ID。取值只能为 a-z,A-Z,0-9,且长度不能超过 12 个字节。流配置模板 ID 的值,可根据业务场景需求设置。比如可以根据目标分辨率的不同取值为 "720p", "1080p";也可以根据不同的游戏场景取值为 "gameA","gameB" 等等。

请求 Header

X-Request-IDstring

本次请求的 UUID(通用唯一识别码)。传入该字段后,声网服务器会在响应 Header 中返回该字段。声网推荐你对 X-Request-ID 赋值。如果不赋值,声网服务器会自动生成一个 UUID 传入。

请求 Body

请求包体为 JSON Object 类型的 settings 字段。

注意

为确保请求成功,请不要将必填字段设为 null 或 ""。

字段

音视频转码参数配置。

网络抖动缓冲,仅在开启视频转码时生效。

响应

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

响应 Header

X-Request-IDstring

本次请求的 UUID(通用唯一识别码)。该值为本次请求 Header 中的 X-Request-ID。

响应 Body

statusstring

请求状态,值为 success。

请求示例

Example Request
curl --request PUT \
  --url "https://api.sd-rtn.com/:region/v1/projects/:appId/rtls/ingress/stream-templates/:templateId" \
  --header 'Authorization: Basic <credentials>' \
  --header 'X-Request-ID: <string>' \
  -H 'Content-Type: application/json' \
  -d '{
  "settings": {
    "transcoding": {
      "video": {
        "enabled": true,
        "codec": "H.264",
        "width": 1280,
        "height": 720,
        "fps": 24,
        "bitrate": 2200,
        "simulcastStream": {
          "width": 960,
          "height": 540,
          "fps": 24,
          "bitrate": 1670
        }
      },
      "audio": {
        "enabled": true,
        "profile": 3
      }
    },
    "jitterBuffer": {
      "size": 500,
      "maxSize": 800
    }
  }
}'

响应示例

{
  "message": "string"
}