設置推流回調配置。
接口說明
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
live:SetLiveStreamsNotifyUrlConfig | update | *Domain acs:cdn:*:{#accountId}:domain/{#DomainName} |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
DomainName | string | 是 | 您的推流域名。 | demo.aliyundoc.com |
NotifyUrl | string | 是 | 直播流信息推送到的 URL 地址。 | http://guide.aliyundoc.com/notify |
NotifyReqAuth | string | 否 | 是否開啟鑒權。取值:
說明
不填默認為 no。
鑒權邏輯請參考下文的推流回調鑒權說明。 | yes |
NotifyAuthKey | string | 否 | 鑒權 key。 說明
當請求參數 NotifyReqAuth 取值為 yes 時,本參數必填。
取值要求:
| 123456 |
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": " 40A4F36D-A7CC-473A-88E7-154F92242566"
}
錯誤碼
HTTP status code | 錯誤碼 | 錯誤信息 | 描述 |
---|---|---|---|
400 | InvalidParam | Parameter invalid. | 輸入參數不合法 |
400 | ConfigAlreadyExists | Config has already exist. | 配置已添加。 |
500 | InternalError | The request processing has failed due to backend service exception. | - |
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|
回調邏輯說明
直播推流狀態回調中開播(publish)狀態回調邏輯:
RTMP 推流在阿里云直播服務收到 On Publish 消息后 2 秒內,如果推流端不主動斷開,阿里云直播服務就會發推流成功回調。
假設您有推流域名 A 和播流域名 B,如果您的域名 B 使用拉流直播(固定拉流和觸發回源拉流)需要回調,請在域名 A 配置推流回調。配置后域名 B 的拉流回調邏輯與上一條一致,建聯后默認 2 秒無主動斷開即認為拉流成功。
推流回調鑒權說明
推流回調鑒權功能默認關閉,用戶可在配置推流回調地址時啟用鑒權。啟用功能后,鑒權邏輯如下:
-
阿里云視頻直播發起回調請求時在 HTTP(S)請求頭中帶上
ALI-LIVE-TIMESTAMP
和ALI-LIVE-SIGNATURE
字段,供回調消息接收服務端進行簽名認證。其中,ALI-LIVE-SIGNATURE
的值由如下計算而得:ALI-LIVE-SIGNATURE=MD5SUM(MD5CONTENT)
MD5CONTENT=<回調域名>|<ALI-LIVE-TIMESTAMP 取值>|<鑒權 KEY>
-
回調消息接收服務端接收回調消息時,將回調域名、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 值。 |