視頻點播支持HTTP回調和輕量消息隊列(原 MNS)回調兩種方式,本文為您介紹事件通知的事件類型、回調方式、回調配置、回調協議、回調內容公共參數等基本信息,以及回調判斷與重試和常見問題。
事件通知簡介
點播服務支持多個存儲區域 ,每個區域可以單獨配置事件通知的回調方式和回調地址。用戶可以上傳視頻到不同區域的存儲,視頻處理完成后,點播服務會根據存儲區域配置的回調方式和回調地址及時通知用戶。
回調body中,返回的URL均為HTTP地址,暫不支持HTTPS地址的返回,如有需要,可以參考事件通知常見問題中的方案解決。
回調方式
點播服務目前支持HTTP回調(兼容HTTPS)、輕量消息隊列(原MNS)回調兩種方式獲取事件通知:
HTTP回調(兼容HTTPS):
HTTP回調是您被動接收視頻點播服務事件通知的模式。您需要部署一個HTTP服務來接收回調消息,并在視頻點播服務中配置回調URL;當事件產生時,點播服務端會向該URL發起HTTP POST請求,事件通知內容將通過HTTP Body送達。
輕量消息隊列(原 MNS)回調:
輕量消息隊列(原 MNS)回調是您主動向視頻點播服務拉取接收事件通知的模式。您需要授權點播服務訪問輕量消息隊列(原MNS)并在消息服務中創建隊列或使用已有隊列,然后在視頻點播服務中完成事件通知的配置;當事件產生時,點播服務會將回調內容寫入該隊列,您需要到消息服務中接收查看消息。在消息服務控制臺中創建隊列及接收消息的詳細操作,請參見隊列操作。
HTTP回調與輕量消息隊列(原MNS)回調對比
對比項 | HTTP回調 | 輕量消息隊列(原MNS)回調(推薦) |
可靠性 | 若您的HTTP消息接收服務存在異常(崩潰或重啟),則消息可能會丟失。 | 更為可靠,只要配置正常,消息回調幾乎都能成功。 |
安全性 | HTTP方式都可回調該地址,但可配合回調鑒權過濾非法請求,以增強安全性。 如何配置,請參見HTTP回調鑒權。 | 由于僅授權方能讀寫消息隊列,安全性更高。 |
便捷性 | 接入更為方便,只需簡單部署消息接收服務。 | 需要額外開通和配置輕量消息隊列(原 MNS),并且需要開發和部署消費消息的程序。 |
回調協議
回調內容公共參數
參數名稱 | 類型 | 描述 |
EventTime | String | 事件產生時間, 為UTC時間:yyyy-MM-ddTHH:mm:ssZ。 |
EventType | String | 事件類型。 |
VideoId | String | 視頻ID。 |
Status | String | 處理狀態,取值:
|
Extend | String | 在上傳或提交作業接口中,指定UserData;并且若里面包含Extend字段,會在事件完成回調時透傳返回用戶自定義數據,最大長度512字節。 |
回調判斷與重試
HTTP回調
點播服務發起HTTP回調時,若回調接收服務響應的HTTP狀態碼為200即視為回調成功;響應狀態碼不為200,或是響應時間超過5秒出現超時,都視為回調失敗。點播服務會忽略響應的包體內容,僅以HTTP狀態碼為準。
若由于配置異常(比如您的回調地址錯誤、消息接收服務異常等),導致消息回調失敗,點播服務會繼續重試回調2次,即總共最多回調3次;超過后會丟棄。
輕量消息隊列(原 MNS)回調
點播服務發起輕量消息隊列(原 MNS)回調時,只要消息寫入輕量消息隊列(原 MNS)成功即視為回調成功,否則為失敗。
若由于配置異常(比如未授權點播服務訪問、隊列地址不是公網或隊列名稱不對等),導致消息寫入輕量消息隊列(原 MNS)失敗,點播服務會繼續重試2次,即總共最多回調3次;超過后會丟棄。
點播服務在回調失敗后會間隔1秒再次發起重試,若總共3次回調仍失敗則會丟棄該消息;如要確??煽客ㄖ?,建議使用輕量消息隊列(原 MNS)回調,其可靠性更高,只要配置正常,幾乎能確保消息回調成功。
回調配置
HTTP和MNS回調的配置流程有所差異,均支持通過視頻點播控制臺和API/SDK的方式配置。詳細的配置流程及使用限制請參見如何使用和如何使用。
事件類型
點播目前支持的事件通知類型如下:
事件類型 | 參考文檔 |
FileUploadComplete | |
ImageUploadComplete | |
StreamTranscodeComplete | |
TranscodeComplete | |
SnapshotComplete | |
DynamicImageComplete | |
AddLiveRecordVideoComplete | |
LiveRecordVideoComposeStart | |
UploadByURLComplete | |
UploadByURLComplete | |
CreateAuditComplete | |
AIMediaAuditComplete 說明 對應視頻點播控制臺上的視頻AI處理完成事件。 | |
VideoAnalysisComplete | |
UpdateMediaStorageClassComplete | |
RestoreMediaComplete | |
AIMediaDNAComplete 說明 對應視頻點播控制臺上的視頻AI處理完成事件。 | |
AIVideoTagComplete 說明 對應視頻點播控制臺上的視頻AI處理完成事件。 | |
AttachedMediaUploadComplete | |
ProduceMediaComplete | |
DeleteMediaComplete | |
MediaBaseChangeComplete | |
SubmitMediaRefreshComplete |
常見問題
使用過程中遇到問題時(例如:如何從回調中獲取到HTTPS地址?如何實現多回調地址?),請參見事件通知常見問題。