ApsaraVideo for Live提供直播推流狀態、直播錄製、直播截圖和智能審核的事件回調,本文介紹如何通過控制台配置對應的回調事件。
前提條件
ApsaraVideo for Live服務目前支援HTTP回調(相容HTTPS)方式擷取事件通知。您需要部署一個HTTP服務來接收回調訊息,並在控制台或通過API配置回調地址。
當推流或斷流事件產生時,直播服務端會向該地址發起HTTP GET請求,具體內容將通過URL參數送達。
當其他事件產生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
使用情境
當直播過程中某些事件被觸發時,阿里雲將主動發送請求到客戶服務器,客戶服務器負責應答請求,驗證通過後,您可接收到事件回調資訊的JSON資料包。
ApsaraVideo for Live支援回調直播推流狀態、直播錄製(按需錄製)、直播截圖、智能審核(視頻審核、語音審核)事件的資訊,不同回調事件對應的回調參數和樣本詳見回調管理。
使用限制
回調地址URL無需標識,只需可正常訪問,URL的應答有如下要求:如果訪問逾時,會重試URL,目前逾時時間是5秒,重試次數5次,稍候再試1秒。
推流回調只能在推流網域名稱的回調事件中進行配置和編輯。錄製回調、截圖回調、視頻審核回調、語音審核回調只能在對應播放網域名稱的回調事件中進行配置和編輯。
功能介紹
事件回調分為推流回調與播流回調
操作指南
- 登入ApsaraVideo for Live控制台。
在左側導覽列單擊功能管理>事件回調,進入事件回調頁面。
選擇您要配置的推/播流網域名稱,推流網域名稱支援設定推流回調,播流網域名稱支援設定錄製回調、截圖回調、視頻審核回調和語音審核回調。
在回調設定頁簽下,配置對應功能。
推流回調
開啟推流回調開關。
配置回調參數。
參數
說明
回調地址
回調地址為您自身擁有的地址,當推流或斷流事件產生時,直播服務端會向該地址發起HTTP GET請求,具體內容將通過URL參數傳遞。
回調鑒權
選擇是否為推流回調地址開啟鑒權。如需鑒權,開啟鑒權開關,輸入鑒權key。
單擊確定。
回調方式和回調內容,請參見直播推流狀態回調。您還可以調用APISetLiveStreamsNotifyUrlConfig - 設定推流回調通知地址配置。
錄製回調
開啟錄製回調開關。
配置回調參數。
參數
說明
回調地址
回調地址為您自身擁有的地址,當錄製回調事件發生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
觸發事件
檔案產生回調:錄製檔案產生時產生回調。
錄製狀態回調:錄製檔案產生、錄製開始、暫停、繼續錄製事件均產生回調。
按需回調地址
設定按需錄製方式後,當開始推直播流時,直播錄製服務會發送一條HTTP回調給事先設定的按需回調地址,通過該回調的返回內容決定是否錄製這條直播流。按需回調地址預設
*
,表示關閉按需錄製功能。說明設定按需回調地址前,需調用介面添加錄製配置配置錄製規則。其中
OnDemand
欄位設定為1
,表示通過HTTP回調開啟按需錄製。單擊確定。
回調方式和回調內容,請參見直播錄製回調。您還調用APIAddLiveRecordNotifyConfig - 添加網域名稱層級錄製回調配置。
截圖回調
開啟截圖回調開關。
配置回調參數。
參數
說明
回調地址
回調地址為您自身擁有的地址,當截圖回調事件發生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
回調鑒權
選擇是否為推流回調地址開啟鑒權。如需鑒權,開啟鑒權開關,輸入鑒權key。
回調方式和回調內容,請參見直播截圖回調。您還可以調用APIAddLiveSnapshotNotifyConfig - 添加截圖回調配置。
視頻審核回調
開啟視頻審核回調開關。
配置回調地址。
回調地址為您自身擁有的地址,當視頻審核回調事件發生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
單擊確定。
回調方式和回調內容,請參見智能審核回調。您還可以調用APIAddLiveDetectNotifyConfig - 添加回調通知URL。
目前僅部分直播中心支援直播智能審核,具體支援該功能的直播中心,請參見服務地區。
視頻審核只會針對有問題的視頻內容進行回調通知,通知內容包含問題視頻截圖的審核資訊和儲存資訊。可在您的回調伺服器中查看回調資訊。回調資訊的格式與樣本,請參見智能審核回調。
在OSS中尋找識別的內容。您可以根據審核回調資訊,在OSS控制台尋找指定的審核內容。
根據AppName與StreamName尋找指定的審核內容。
根據推流日期尋找指定的審核內容。
語音審核回調
開啟語音審核回調開關。
配置回調地址。
回調地址為您自身擁有的地址,當語音審核回調事件發生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
單擊確定。
回調方式和回調內容,請參見智能審核回調。您還可以調用APIAddLiveAudioAuditNotifyConfig - 添加音頻審核回調資訊。
語音審核只會對於有問題的音頻內容進行回調通知,通知內容包含問題語音的文本資訊以及最近一分鐘內的上下文資訊。可在您的回調伺服器中查看回調資訊。回調資訊的格式與樣本,請參見智能審核回調。
在OSS中尋找識別的內容。您可以根據審核回調資訊,在OSS控制台尋找指定的審核內容。
根據AppName與StreamName尋找指定的審核內容。
根據推流日期尋找指定的審核內容。
推流回調邏輯
播推流狀態回調中開播(publish)狀態回調邏輯:
RTMP推流在阿里雲直播服務收到On Publish訊息後2秒內,如果推流端不主動斷開,阿里雲直播服務就會發送推流成功回調。
假設您有推流網域名稱A和播流網域名稱B,如果您的網域名稱B使用拉流直播(固定拉流和觸發回源拉流)需要回調,請在網域名稱A配置推流回調。配置後網域名稱B的拉流回調邏輯與上述一致,建聯後預設2秒無主動斷開即認為拉流成功,需要確保收到資料才認為成功。
建議您根據回調通知判斷推流、拉流接入是否正常。可以同時配合線上流列表查詢推流正常後,再下發直播流播放地址。
回調鑒權
推流回調鑒權功能預設關閉,使用者可在配置推流回調地址時啟用鑒權。啟用功能後,鑒權邏輯如下:
阿里雲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欄位值進行對比。如果不一致,則請求非法。