设置直播推流回调配置

调用SetLiveStreamsNotifyUrlConfig设置推流回调配置。

使用说明

本接口支持配置推流域名的回调地址及其鉴权信息。

QPS限制

本接口的单用户QPS限制为15次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String SetLiveStreamsNotifyUrlConfig

系统规定参数。取值:SetLiveStreamsNotifyUrlConfig

DomainName String demo.aliyundoc.com

您的推流域名。

NotifyUrl String http://guide.aliyundoc.com/notify

直播流信息推送到的URL地址。

NotifyReqAuth String yes

是否开启鉴权。取值:

  • yes:开启。如果选择取值为yes,必须同时设置请求参数NotifyAuthKey。
  • no:不开启。
说明 不填默认为no

鉴权逻辑请参考下文的推流回调鉴权说明

NotifyAuthKey String 123456

鉴权key。

说明 当请求参数NotifyReqAuth取值为yes时,本参数必填。

取值要求:

  • 16~64个字符。
  • 支持大写字母、小写字母、数字。

返回数据

名称 类型 示例值 描述
RequestId String 40A4F36D-A7CC-473A-88E7-154F92242566

请求ID。

示例

请求示例

http(s)://live.aliyuncs.com/?Action=SetLiveStreamsNotifyUrlConfig
&DomainName=demo.aliyundoc.com
&NotifyUrl=http://guide.aliyundoc.com/notify
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<?xml version="1.0" encoding="UTF-8" ?>
<SetLiveStreamsNotifyUrlConfigResponse>
	<RequestId>4C747C97-7ECD-4C61-8A92-67AD806331FF</RequestId>
</SetLiveStreamsNotifyUrlConfigResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "SetLiveStreamsNotifyUrlConfigResponse" : {
    "RequestId" : "4C747C97-7ECD-4C61-8A92-67AD806331FF"
  }
}

错误码

HttpCode 错误码 错误信息 描述
400 ConfigAlreadyExists Config has already exist. 配置已添加。

访问错误中心查看更多错误码。

回调逻辑说明

直播推流状态回调中开播(publish)状态回调逻辑:

RTMP推流在阿里云直播服务收到On Publish消息后2秒内,如果推流端不主动断开,阿里云直播服务就会发推流成功回调。

假设您有推流域名A和播流域名B,如果您的域名B使用拉流直播(固定拉流和触发回源拉流)需要回调,请在域名A配置推流回调。配置后域名B的拉流回调逻辑与上一条一致,建联后默认2秒无主动断开即认为拉流成功。

说明 建议业务方不仅根据回调通知判断推流、拉流接入正常,同时配合在线流列表查询推流正常后,再下发直播流播放地址给业务方。

推流回调鉴权说明

推流回调鉴权功能默认关闭,用户可在配置推流回调地址时启用鉴权。启用功能后,鉴权逻辑如下:

1. 阿里云视频直播发起回调请求时在HTTP(S)请求头中带上ALI-LIVE-TIMESTAMPALI-LIVE-SIGNATURE字段,供回调消息接收服务端进行签名认证。其中,ALI-LIVE-SIGNATURE的值由如下计算而得:

ALI-LIVE-SIGNATURE=MD5SUM(MD5CONTENT) MD5CONTENT=<回调域名>|<ALI-LIVE-TIMESTAMP取值>|<鉴权KEY>

2. 回调消息接收服务端接收回调消息时,将回调域名、ALI-LIVE-TIMESTAMP取值、鉴权Key进行拼接后计算MD5值,得到加密字符串,再将计算出的加密字符串与视频直播发起的HTTP(S)请求头中的ALI-LIVE-SIGNATURE字段值进行对比。如果不一致,则请求非法。

特殊错误码

错误代码

描述

HTTP 状态码

语义

InternalError

The request processing has failed due to some unknown error.

500

后台发生未知错误。

InvalidDomain.NotFound

The domain provided does not exist in our records.

404

当前账户下未查到域名。

IllegalOperation

Illegal domain operate is not permitted.

403

不支持当前操作,如:非直播类域名。

InvalidNotifyUrl.Malformed

Specified parameter NotifyUrl is not valid.

400

回调地址不是一个合法的HTTP地址。

InvalidNotifyUrl.Unsafe

Specified NotifyUrl is not safe.

400

非安全的NotifyUrl值。