创建推流码
更新时间不可用
创建用于将媒体流推送到指定频道和主播 UID 的推流码。
https://api.sd-rtn.com/{region}/v1/projects/{appId}/rtls/ingress/streamkeys该接口创建一个推流码。
推流码也叫推流密钥,能够确保媒体流被推送到正确的频道与主播 uid 下。在开启推流前,你需要先创建推流码。
注意
请合理保管已创建的推流码,不要暴露,否则任何人都可以凭借该推流码推流到频道内。
鉴权
regionstring创建推流码的区域。声网支持分区域创建推流码,目前支持以下区域:
cn:中国大陆ap:除中国大陆以外的亚洲区域na:北美eu:欧洲
注意
- 请确保设置的
region与输入的源流在同一个区域。 - 请确保设置的
region与推流使用的域名在同一个区域。 - 请确保传入
region的值为小写。
appIdstring声网为每个开发者提供的 App ID。在声网控制台创建一个项目后即可得到一个 App ID。App ID 是一个项目的唯一标识。
X-Request-IDstring本次请求的 UUID(通用唯一识别码)。传入该字段后,声网服务器会在响应 Header 中返回该字段。声网推荐你对 X-Request-ID 赋值。如果不赋值,声网服务器会自动生成一个 UUID 传入。
请求包体为 JSON Object 类型的 settings 字段。
channelstring声网频道名称,字符串长度必须在 64 字节以内,支持以下字符集(共 89 个字符):
- 所有小写英文字母(a-z)
- 所有大写英文字母(A-Z)
- 数字 0-9
- 空格
!,#,$,%,&,(,),+,-,:,;,<,=,.,>,?,@,[,],^,_,{,},|,~,,。
uidstringRTMP 网关在声网频道内的主播用户 UID,可以为数字 ID 或字符串 ID。如果为数字 ID,取值范围为 1 到 232-1(即 4294967295,大于此数值则会被识别为字符串);如果为字符串 ID,不能超过 255 字节。支持以下字符集(共 89 个字符):
- 所有小写英文字母(a-z)
- 所有大写英文字母(A-Z)
- 数字 0-9
- 空格
!,#,$,%,&,(,),+,-,:,;,<,=,.,>,?,@,[,],^,_,{,},|,~,,允许填 "" 或者 "0",此时会使用随机的整型 uid 进入频道。具体 uid 的值可通过查询在推流列表 API 或接收 NCS 回调获得。
注意
uid 和 channel 不能同时为空,即在 channel 为 "" 的情况下,uid 就不能为 "0" 或 ""。
输入的 uid 与实际识别值举例:
- "123" → 整型 uid,123
- "0123" → 整型 uid,123
- "4294967295" → 整型 uid,4294967295
- "4294967296" → 字符串 uid,"4294967296"
- "123abc" → 字符串 uid,"123abc"
expiresAfternumber创建的推流码的有效时长,单位为秒。从创建时开始计算。如果填 0,则推流码永远有效。
注意
为确保请求成功,请不要将该必填字段设为 null 或 ""。
templateIdstring关联的流配置模板 ID,具体请见流配置模板。如果你不确定它的作用,请不要提供此字段。
响应
请求示例
curl --request POST \
--url "https://api.sd-rtn.com/:region/v1/projects/:appId/rtls/ingress/streamkeys" \
--header 'Authorization: Basic <credentials>' \
--header 'X-Request-ID: <string>' \
-H 'Content-Type: application/json' \
-d '{
"settings": {
"channel": "shx001",
"uid": "1001",
"expiresAfter": 0
}
}'响应示例
{
"status": "success",
"data": {
"streamKey": "2dfMTR****fys",
"channel": "shx001",
"uid": "1001",
"expiresAfter": 0,
"createdAt": "1686820170"
}
}