流狀態即時資訊回調,可以及時通知使用者推流或斷流操作結果。
原理
通過HTTP介面向使用者服務器發送GET請求,將視頻流推送成功。斷流成功的狀態即時反饋給使用者,使用者服務器通過200響應返回介面的結果。
注意事項
URL無需標識,只需可正常訪問,URL的應答有如下要求:
如果訪問逾時,會重試URL,目前逾時時間是5秒,重試次數5次,稍候再試1秒。
直播推流狀態回調中開播(publish)狀態回調邏輯
RTMP推流在阿里雲直播服務收到On Publish訊息後2秒內,如果推流端不主動斷開,阿里雲直播服務就會發推流成功回調。
假設您有推流網域名稱A和播流網域名稱B,如果您的網域名稱B使用拉流直播(固定拉流和觸發回源拉流)需要回調,請在網域名稱A配置推流回調。配置後網域名稱B的拉流回調邏輯與上一條一致,建聯後預設2秒無主動斷開即認為拉流成功。
說明建議業務方不僅根據回調通知判斷推流、拉流接入正常,同時配合查詢網域名稱線上流列表介面查詢推流正常後,再下發直播流播放地址。
當10秒內(包含十秒)沒有流資料推送到直播中心時,直播服務就會自動斷開推流。
推流回調邏輯說明
推流回調鑒權功能預設關閉,使用者可在配置推流回調地址時啟用鑒權。啟用功能後,鑒權邏輯如下:
阿里雲ApsaraVideo for Live發起回調請求時在HTTP(S)要求標頭中帶上
ALI-LIVE-TIMESTAMP和ALI-LIVE-SIGNATURE欄位,供回調訊息接收服務端進行簽名認證。其中,ALI-LIVE-SIGNATURE的值由如下計算而得:ALI-LIVE-SIGNATURE=MD5SUM(MD5CONTENT)MD5CONTENT=推流網域名稱|ALI-LIVE-TIMESTAMP取值|鑒權KEY說明回調網域名稱指配置回調URL的推流網域名稱。鑒權Key指使用者為推流回調URL配置的鑒權Key。
回調訊息接收服務端接收回調訊息時,將回調網域名稱、
ALI-LIVE-TIMESTAMP取值、鑒權Key進行拼接後計算MD5值,得到加密字串,再將計算出的加密字串與ApsaraVideo for Live發起的HTTP(S)要求標頭中的ALI-LIVE-SIGNATURE欄位值進行對比。如果不一致,則請求非法。
舉例說明
舉例如下:
http://1.1.1.1?action=publish&ip=192.168.XX.XX&id=world&app=example.aliyundoc.com&appname=liveApp****&time=1609220385&usrargs={使用者參數}&
node=cdnvideocenter01020711****.cm3&height=720&width=1280參數 | 描述 |
action | 事件。
|
ip | 推流的用戶端IP。 |
id | 推流流名稱。 |
app | 推流網域名稱。預設為自訂的推流網域名稱,如果未綁定推流網域名稱即為播流網域名稱。 |
appname | 推流應用程式名稱。 |
time | Unix時間戳記。單位:秒。 |
usrargs | 使用者推流的參數。 |
node | CDN接受流的節點或者機器名。 |
height | 解析度的高。單位:像素。 說明 解析度資訊(height和width)僅在首次回調時產生。 |
width | 解析度的寬。單位:像素。 |