调用SetLiveEdgeTransfer设置直播转推配置。
接口说明
调用 SetLiveEdgeTransfer 进行的直播边缘转推配置仅对配置完成后开始的推流生效。以下为部分典型场景示例:
| 场景 | 分析 | 结果 |
| 1. 用户在调用 SetLiveEdgeTransfer 之前已经开始推流。 | 此时直播边缘转推流配置不存在。 | 该推流不受 SetLiveEdgeTransfer 配置的影响,即直播边缘转推流不会启动。 |
| 2. 用户中断调用 SetLiveEdgeTransfer 之前已经开始的推流,再重新推流。 | 此时直播边缘转推流配置已经存在。 | 重新开始的推流会按 SetLiveEdgeTransfer 的配置启动直播转推流。 |
| 3. 用户在调用 SetLiveEdgeTransfer 之后开始推流。 | 此时直播边缘转推流配置已经存在。 | 此次推流会按 SetLiveEdgeTransfer 的配置启动直播转推流。 |
QPS 限制
本接口的单用户 QPS 限制为 100 次/秒。超过限制,API 调用会被限流,这可能会影响您的业务,请合理调用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
live:SetLiveEdgeTransfer |
update |
*全部资源
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| RegionId |
string |
否 |
地域 ID。 |
cn-shanghai |
| DomainName |
string |
是 |
推流域名。直播转推流以推流的 DomainName 为粒度设置。一个域名只能有一个直播转推配置。 |
demo.aliyundoc.com |
| AppName |
string |
否 |
直播流所属应用名称。支持正则表达式配置但有例外。详细信息,请参见下文中的AppName 与 StreamName 参数设置说明。例如:liveApp****[1,2,3],表示允许 liveApp1,liveApp2,liveApp****3 三个 App 转推。 说明
|
liveApp**** |
| StreamName |
string |
否 |
推流名称。支持正则表达式配置但有例外。详细信息,请参见下文中的AppName 与 StreamName 参数设置说明。例如:liveStream****[1,2,3],表示允许 liveStream1,liveStream2,liveStream****3 三个流转推。 说明
|
liveStream**** |
| TargetDomainList |
string |
否 |
用户指定的转推目标域名列表。多个域名用英文逗号(,)分隔。请求中必须带有 说明
|
learn.aliyundoc.com,guide.aliyundoc.com |
| HttpDns |
string |
否 |
获取转推目标地址的 HTTPDNS 接口。请求中必须带有 说明
若请求参数中设置了 直播转推对 HTTPDNS 接口返回的消息结构有要求,详细信息,请参见下文中的HTTPDNS 说明。 |
http://developer.aliyundoc.com |
| TransferArgs |
string |
否 |
推流参数是否透传。取值:
枚举值:
|
yes |
AppName 与 StreamName 参数设置说明
AppName 与 StreamName 均不支持^、$匹配。二者之中任一取值出现^或$均会导致转推失败。
HTTPDNS 说明
如果 SetLiveEdgeTransfer 的请求参数中设置了HttpDns,直播转推时将访问通过HttpDns设置的 HTTPDNS 接口来获取转推目标地址。
请求示例如下:
http://developer.aliyundoc.com/?host={
说明:在实际请求 HTTPDNS 接口时会把以下参数按推流 URL 中的信息进行替换:
{
}:推流域名。 {
}:直播流所属应用名称。 {
}:流名。 {<_ali_user_args>}:用户推流带的参数。
直播转推对接口返回码和返回数据的要求如下:
返回码为 403 表示访问失败,不需要转推。
返回码为 200 表示访问成功,返回结果为 JSON 格式。结构和参数示例如下:
{
"cdn_types": [
{
"name": "cdnA****",
"upstream_url": "rtmp://developer.aliyundoc.com/live/testedge****"
},
{
"name": "cdnB****",
"upstream_url": "rtmp://developer.aliyundoc.com/live/testedge****"
}
]
}
| 参数 | 描述 | 示例 |
| name | CDN 名称,可自定义但不能重复。 | cdnA**** |
| upstream_url | 要转推的推流地址。 | rtmp://developer.aliyundoc.com/live/testedge**** |
转推域名从返回的 JSON 结果里面获取。如果返回多个转推域名,表示需要将原始流推到多路。
返回数据结构不符合要求将导致转推失败。
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| RequestId |
string |
请求 ID。 |
16A96B9A-F203-4EC5-8E43-CB92E68F4CF8 |
示例
正常返回示例
JSON格式
{
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F4CF8"
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | InvalidParam | Parameter invalid. | 输入参数不合法 |
| 500 | InternalError | The request processing has failed due to backend service exception. |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。