ApsaraVideo for Live提供直播推流狀態、直播錄製、按需錄製、直播截圖、智能審核、雙流災備的事件回調,本文介紹這些回調的配置方式、回調參數和樣本。
前提條件
ApsaraVideo for Live服務目前支援HTTP回調(相容HTTPS)方式擷取事件通知。您需要部署一個HTTP服務來接收回調訊息,並在控制台或通過API配置回調地址。
當推流或斷流事件產生時,直播服務端會向該地址發起HTTP GET請求,具體內容將通過URL參數送達。
當其他事件產生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
目前有小部分SSL認證暫不能實現相容,若回調失敗可嘗試使用HTTP回調。
使用限制
回調地址URL無需標識,只需可正常訪問,URL的應答有如下要求:如果訪問逾時,會重試URL,目前逾時時間是5秒,重試次數5次,稍候再試1秒。
不同類型回調的配置要求:
推流回調和雙流災備回調只能在推流網域名稱的事件回調進行配置。
錄製回調、截圖回調、智能審核回調只能在對應播流網域名稱的事件回調中進行配置。
回調配置
直播推流回調
通知當前網域名稱推流狀態,包括推流成功、斷流狀態、推流例外狀況事件,支援通過控制台或API配置回調地址。
控制台配置步驟
在左側導覽列單擊功能管理> 事件回調,進入事件回調頁面。
選擇您要配置的推流網域名稱。推流回調只能在推流網域名稱下進行配置。
在回調設定頁簽下,開啟推流回調開關,配置以下參數:
回調類型:選擇推/斷流回調或推流例外狀況事件回調。
回調地址:輸入您自身擁有的回調地址。推/斷流回調使用HTTP GET請求,例外狀況事件回調使用HTTP POST請求。
回調鑒權:選擇是否開啟鑒權。如需鑒權,開啟鑒權開關並輸入鑒權Key,鑒權流程請參見回調鑒權。
單擊確定。
API 配置方式
介面 | 描述 | 參考文檔 |
SetLiveStreamsNotifyUrlConfig | 配置推流回調。 | |
DescribeLiveStreamsNotifyUrlConfig | 查詢推流回調配置。 | |
DeleteLiveStreamsNotifyUrlConfig | 刪除推流回調配置。 |
推斷流回調
推斷流回調會將參數封裝在MultiDict內。
推斷流回調中開播(publish)狀態回調邏輯
RTMP推流在阿里雲直播服務收到On Publish訊息後2秒內,如果推流端不主動斷開,阿里雲直播服務就會發推流成功回調。
假設您有推流網域名稱A和播流網域名稱B,如果您的網域名稱B使用拉流直播(固定拉流和觸發回源拉流)需要回調,請在網域名稱A配置推流回調。配置後網域名稱B的拉流回調邏輯與上一條一致,建聯後預設2秒無主動斷開即認為拉流成功。
建議業務方不僅根據回調通知判斷推流、拉流接入正常,同時配合查詢網域名稱線上流列表介面查詢推流正常後,再下發直播流播放地址。
當10秒內(包含10秒)沒有流資料推送到直播中心時,直播服務就會自動斷開推流。
推斷流回調參數
參數 | 描述 |
action | 事件。
|
ip | 推流的用戶端IP。 |
id | 推流流名稱。 |
app | 推流網域名稱。預設為自訂的推流網域名稱,如果未綁定推流網域名稱即為播流網域名稱。 |
appname | 推流應用程式名稱。 |
time | Unix時間戳記。單位:秒。 |
usrargs | 使用者推流的參數。 |
node | CDN接受流的節點或者機器名。 |
height | 解析度的高。單位:像素。 說明 解析度資訊(height和width)僅在首次回調時產生。 |
width | 解析度的寬。單位:像素。 |
推流狀態回調參數樣本:
http://1.1.X.X?action=publish&ip=192.168.0.1&id=world&app=example.aliyundoc.com&appname=liveApp****&time=1609220385&usrargs={使用者參數}&node=cdnvideocenter01020711****.cm3&height=720&width=1280斷流狀態回調參數樣本:
http://1.1.X.X?action=publish_done&ip=192.168.0.0&id=world&app=example.aliyundoc.com&appname=liveApp****&time=1609220385&usrargs={使用者參數}&node=cdnvideocenter01020711****.cm3&height=720&width=1280推流例外狀況事件回調
推流例外狀況事件回調參數
參數 | 描述 |
action | publish_exception_notify。 |
domain | 推流網域名稱。 |
appname | 推流應用程式名稱。 |
stream | 直播流名稱。 |
ip | 推流的用戶端IP。 |
time | 回調時間。 |
type | 例外狀況事件類型。 |
event_time | 例外狀況事件發生時間。 |
異常類型
例外狀況事件code | 事件類型 |
1001 | URL存在非法字元。 |
2001 | 視頻codec在黑名單中。 |
2002 | 視頻codec不在白名單中。 |
2003 | 音頻codec在黑名單中。 |
2004 | 音頻codec不在白名單中。 |
3001 | 音頻頭解析失敗。 |
3002 | 視頻頭解析失敗。 |
3003 | meta解析失敗。 |
4001 | 視頻寬高不一致。 |
4002 | meta中不包含音頻資料,但是發送資料時有音頻資料。 |
4003 | 實際音視頻資料和header不符。 |
4004 | meta中不包含視頻資料,但是發送資料時有視頻資料。 |
4005 | 音頻codec資訊中途發生變化。 |
4006 | 視頻codec資訊中途發生變化。 |
4007 | 在收到音頻HDR前收到音訊框架。 |
4008 | 在收到視頻HDR前收到視訊框架。 |
5001 | CTS波動過大。 |
5002 | DTS非遞增。 |
5003 | 音視頻時間戳記差值過大。 |
5004 | 音頻DTS增長過大。 |
5005 | 視頻DTS增長過大。 |
5006 | 接收音訊框架時間間隔過大。 |
5007 | 接收視訊框架時間間隔過大。 |
5008 | 主要畫面格間隔過大。 |
推流例外狀況事件回調參數樣本:
{
"action": "publish_exception_notify",
"domain": "demo.aliyundoc.com",
"appname": "liveApp****",
"stream": "liveStream****",
"ip": "141.01.****",
"time": "1739760710",
"type": "5002",
"event_time": "1739760710"
}直播錄製回調
直播錄製回調包括錄製狀態回調、檔案產生回調、錄製錯誤回調。
控制台配置步驟
在左側導覽列單擊功能管理> 事件回調,進入事件回調頁面。
選擇您要配置的播流網域名稱。錄製回調只能在播流網域名稱下進行配置。
在回調設定頁簽下,開啟錄製回調開關,配置以下參數:
回調地址:輸入您自身擁有的回調地址。錄製回調使用HTTP POST請求。
觸發事件:選擇檔案產生回調或錄製狀態回調。
按需回調地址:配置按需錄製方式後,當開始推直播流時,直播錄製服務會發送一條HTTP回調給事先設定的按需回調地址,通過該回調的返回內容決定是否錄製這條直播流。按需回調地址預設
*,表示關閉按需錄製功能。回調鑒權:選擇是否開啟鑒權。如需鑒權,開啟鑒權開關並輸入鑒權Key,鑒權流程請參見回調鑒權。
單擊確定。
API 配置方式
介面 | 描述 | 參考文檔 |
AddLiveRecordNotifyConfig | 添加網域名稱層級錄製回調配置。 | |
DescribeLiveRecordNotifyConfig | 查詢網域名稱層級錄製回調配置。 | |
DeleteLiveRecordNotifyConfig | 刪除網域名稱層級錄製回調配置。 |
錄製狀態回調
在檔案開始錄製與結束錄製時發出,主要表示檔案已經開始和結束錄製。
錄製狀態回調參數
參數 | 描述 |
domain | 錄製的播流網域名稱。 |
app | 應用程式名稱。 |
stream | 流名。 |
event | 事件名。
|
錄製狀態回調參數樣本
{
"domain": "demo.aliyundoc.com",
"app": "liveApp****",
"stream": "liveStream****",
"event": "record_started"
}檔案產生回調
在檔案產生時發出,主要包括檔案名稱,開始結束時間與時間長度資訊。
檔案產生回調參數
參數 | 描述 |
domain | 錄製的播流網域名稱。 |
app | 應用程式名稱。 |
stream | 流名。 |
uri | 錄製檔案在使用者OSS Bucket或點播系統Bucket下的相對路徑。 |
record_id | 索引檔案ID。 |
file_url | 錄製檔案的URL地址。 |
duration | 目標錄製檔案錄製內容時間長度,單位:秒。 |
start_time | 錄製開始時間。Unix時間戳記,單位:秒。 |
stop_time | 錄製結束時間。Unix時間戳記,單位:秒。 |
is_finished | 是否完成錄製(僅錄製到ApsaraVideo for VOD時返回)。 |
oss_endpoint | 儲存 Endpoint 名稱。 |
oss_bucket | 儲存 Bucket 名稱。 |
push_args | 推流參數中以callback_為首碼的參數,如callback_arg1、callback_myid等。 說明 錄製轉碼流不支援傳遞自訂參數。同一個參數名只能有一個參數值,如果傳入多個值,回調僅包含第一個值。如推流參數包含callback_args1=value1&callback_args1=value2,回調中仍為"callback_args1": "value1"。 |
檔案產生回調參數樣本
推流URL為:rtmp://demo.aliyundoc.com/liveApp****/liveStream****?callback_args1=value1&callback_myid=1231389741
則回調內容為:
{
"domain": "demo.aliyundoc.com",
"app": "liveApp****",
"stream": "liveStream****",
"uri": "liveApp****/liveStream****/0_2017-03-08-23:09:46_2017-03-08-23:10:40.flv",
"file_url": "http://****.oss-****.aliyuncs.com/liveApp****/liveStream****/0_2017-03-08-23:09:46_2017-03-08-23:10:40.flv",
"duration": 69.403,
"start_time": 1488985786,
"stop_time": 1488985840,
"push_args": {
"callback_args1": "value1",
"callback_myid": "1231389741"
}
}以上回調樣本,適用於所有沒有定製回調模板的客戶。
錄製錯誤回調
錄製過程中若因源流異常或OSS寫入失敗導致錄製或轉封裝(MP4/FLV)出錯,將觸發錯誤回調。
錄製錯誤回調參數
參數 | 描述 |
domain | 錄製的播流網域名稱。 |
app | 應用程式名稱。 |
stream | 流名。 |
event | 事件名。
|
error_info | JSON格式錯誤資訊,包含以下欄位:
|
file_info | 檔案資訊,僅在轉封裝錯誤時存在,包含以下欄位:
|
錄製錯誤回調參數樣本
錄製錯誤
{
"domain": "example.com",
"app": "live",
"stream": "stream123",
"event": "record_error",
"error_info": {
"code": "TsSegmenterFail",
"message": "ts segmenter error"
}
}錯誤碼列表:
Code | Message | 中文描述 |
BucketNotFound | Bucket not found | Bucket不存在,或被刪除了。 |
AccessDenied | Bucket not belong config userId | Bucket不屬於錄製配置的賬戶ID。 |
StreamFormatError | video stream format error | 直播流格式錯誤。 |
UserDisable | Unauthorized access to OSS by user | 使用者未授權訪問OSS,或刪除了OSS授權。 |
轉封裝錯誤
{
"domain": "example.com",
"app": "live",
"stream": "stream123",
"event": "transformat_error",
"error_info": {
"code": "PermissionDenied.ResourceAccess",
"message": "MTS not authorized to operate on the OutputBucket"
},
"file_info": {
"uri": "record/live/stream123/2025-11-19-03-17-03_2025-11-19-03-28-39.flv",
"start_time": 1763493420,
"stop_time": 1763494119
}
}錯誤碼列表:
Code | Message | 中文描述 |
InvalidParameter.ResourceNotFound | The resource operated cannot be found | Bucket不存在,或被刪除了。 |
InvalidParameter.ResourceContentBad | The resource operated InputFile is bad | 直播源流品質問題,導致轉封裝失敗。 |
PermissionDenied.ResourceAccess | MTS not authorized to operate on the OutputBucket | 使用者未授權訪問OSS,或刪除了OSS授權。 |
按需錄製回調
按需錄製回調是錄製之前通過回調的方式,傳遞直播流的相關參數給使用者,由使用者判斷是否需要錄製的功能。
使用者指定一個回調地址,並配置一個domain、app或stream層級的錄製為按需錄製。當錄製服務收到匹配domain、app或stream名稱的流時,向使用者的回調地址發送請求(請求包含5個參數),來詢問使用者是否需要錄製這路流。
請求參數
參數 | 類型 | 描述 |
domain | String | 主播流網域名稱。 |
app | String | 播流所屬應用程式名稱。 |
stream | String | 播流名稱。 |
codec | String | 編碼方式。取值:
|
vbitrate | String | 視頻碼率。單位:kbps。 |
請求樣本
GET /?app=seq_all&domain=demo.aliyundoc.com&stream=ondemand8&vbitrate=2000&codec=h264 HTTP/1.1
Host: pull.aliyundoc.com
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip返回參數
參數 | 類型 | 是否必選 | 描述 |
ApiVersion | String | 否 | API版本。預設為1.0版本。 |
NeedRecord | Bool | 是 | 是否需要錄製。 |
Interval | JSONObject | 否 | 具體格式的錄製周期變化。取值範圍:5~21600。單位:秒。 |
Format | JSONArray | 否 | 錄製格式。支援MP4、FLV、M3U8。 |
返回樣本
{
"ApiVersion": "1.0",
"NeedRecord": true,
"Interval": {
"Mp4": 300,
"Flv": 120,
"M3U8": 180
},
"Format": ["mp4","flv"]
}返回參數處理
錄製服務會根據返回的參數配置,對既有配置進行覆蓋:
Interval:覆蓋錄製模板中配置的原有錄製周期。Format:與錄製模板中原配置的格式取交集。如果沒有交集,則不會錄製這路直播流。
若返回的 HTTP 狀態代碼非 200,系統將判定此次回調調用失敗。
響應 Body 的大小上限為 2,048 位元組。出於安全考慮,超出此限制的內容將被截斷。
直播截圖回調
ApsaraVideo for Live支援直播截圖結果回調,您可以在控制台或通過API配置回調地址。
控制台配置步驟
在左側導覽列單擊功能管理> 事件回調,進入事件回調頁面。
選擇您要配置的播流網域名稱。截圖回調只能在播流網域名稱下進行配置。
在回調設定頁簽下,開啟截圖回調開關,配置以下參數:
回調地址:輸入您自身擁有的回調地址。截圖回調使用HTTP POST請求。
回調鑒權:選擇是否開啟鑒權。如需鑒權,開啟鑒權開關並輸入鑒權Key,鑒權流程請參見回調鑒權。
單擊確定。
API 配置方式
介面 | 描述 | 參考文檔 |
AddLiveSnapshotNotifyConfig | 添加截圖回調配置。 | |
UpdateLiveSnapshotNotifyConfig | 修改截圖回調配置。 | |
DescribeLiveSnapshotNotifyConfig | 擷取截圖回調配置。 | |
DeleteLiveSnapshotNotifyConfig | 刪除截圖回調配置。 |
截圖檔案回調參數
參數 | 描述 |
Event | 事件。 |
DomainName | 截圖的播流網域名稱。 |
AppName | 應用程式名稱。 |
StreamName | 流名。 |
OssBucket | 儲存截圖的Bucket名。 |
OssEndpoint | 儲存截圖的OSS。 |
OssObject | 截圖的檔案名稱。 |
CreateTime | 截圖時間。 |
SnapshotUrl | 截圖檔案在使用者錄製OSS Bucket下的路徑。 |
Size | 圖片大小。單位:byte。 |
Width | 圖片寬。單位:像素。 |
Height | 圖片高。單位:像素。 |
截圖檔案回調參數樣本
{
"Event": "Snapshot",
"DomainName": "demo.aliyundoc.com",
"AppName": "liveApp****",
"StreamName": "liveStream****",
"OssBucket": "liveBucket****",
"OssEndpoint": "oss-cn-shan****.aliyuncs.com",
"OssObject": "1****.jpg",
"CreateTime": "2015-12-01T17:36:00Z",
"SnapshotUrl": "http://liveBucket****.oss-cn-shan****.aliyuncs.com/1****.jpg",
"Size": "36291",
"Width": "1280",
"Height": "720"
}智能審核回調
ApsaraVideo for Live可使用視訊審核和語音審核的結果回調,您可以在控制台或通過API配置回調地址。
視頻審核回調控制台配置步驟
在左側導覽列單擊功能管理> 事件回調,進入事件回調頁面。
選擇您要配置的播流網域名稱。視頻審核回調只能在播流網域名稱下進行配置。
在回調設定頁簽下,開啟視頻審核回調開關,配置回調地址。回調地址為您自身擁有的地址,當視頻審核回調事件發生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
單擊確定。
目前僅部分直播中心支援直播智能審核,具體支援該功能的直播中心,請參見服務地區。
視頻審核回調 API 配置方式
介面 | 描述 | 參考文檔 |
AddLiveDetectNotifyConfig | 添加直播視頻審核回調配置。 | |
DescribeLiveDetectNotifyConfig | 查詢直播視頻審核回調配置。 | |
UpdateLiveDetectNotifyConfig | 更新直播視頻審核回調配置。 | |
DeleteLiveDetectNotifyConfig | 刪除直播視頻審核回調配置。 |
視頻審核回調參數
只會對於有問題的視頻內容進行回調通知,通知內容包含問題視頻截圖的審核資訊和儲存資訊。
參數 | 類型 | 描述 |
DomainName | String | 播流網域名稱。 |
AppName | String | 應用程式名稱。 |
StreamName | String | 流名稱。 |
OssEndpoint | String | 儲存物件Endpoint。 |
OssBucket | String | 儲存物件的Bucket。 |
OssObject | String | 儲存物件的檔案名稱。 |
Result | JSONArray | 檢測結果。請參見Result。 |
Result
參數 | 類型 | 描述 |
BizType | String | 業務類型。可用於選擇模型,預設值為網域名稱。 |
Scene | String | 檢測情境
|
Label | String | 檢測結果的分類。不同檢測情境的結果分類不同,具體如下: 圖片智能鑒黃(porn)結果分類:
圖片暴恐涉政(terrorism)結果分類:
圖文違規(ad)結果分類:
不良情境(live)結果分類:
圖片logo(logo)結果分類:
|
Rate | Float | 信賴度分數。取值範圍:0(表示信賴度最低)~100(表示信賴度最高)。 說明 該值僅作為參考,強烈建議您不要在業務中使用。建議您參考Label結果用於內容違規判定。 |
Extent | String | 預留欄位。 |
預設新使用者將使用此版本,老使用者維持不變,如需使用此版本,請您提交工單。關於如何提交工單,請參見聯絡我們。
視頻審核回調參數樣本
{
"DomainName": "demo.aliyundoc.com",
"AppName": "liveApp****",
"StreamName": "liveStream****",
"OssEndpoint": "oss-cn-hang****.aliyuncs.com",
"OssBucket": "liveBucket****",
"OssObject": "example.jpg",
"Result": [
{
"BizType": "demo.aliyundoc.com",
"Result": [
{"Label": "Porn", "Rate": 11, "Suggestion": "review", "Scene": "porn", "Extent": {}},
{"Label": "Ad", "Rate": 11, "Suggestion": "review", "Scene": "ad", "Extent": {}}
]
}
]
}語音審核回調控制台配置步驟
在左側導覽列單擊功能管理> 事件回調,進入事件回調頁面。
選擇您要配置的播流網域名稱。語音審核回調只能在播流網域名稱下進行配置。
在回調設定頁簽下,開啟語音審核回調開關,配置回調地址。回調地址為您自身擁有的地址,當語音審核回調事件發生時,直播服務端會向該地址發起HTTP POST請求,具體內容將通過JSON Body送達。
單擊確定。
語音審核回調 API 配置方式
介面 | 描述 | 參考文檔 |
AddLiveAudioAuditNotifyConfig | 添加直播語音審核回調配置。 | |
DeleteLiveAudioAuditNotifyConfig | 刪除直播語音審核回調配置。 | |
UpdateLiveAudioAuditNotifyConfig | 更新直播語音審核回調配置。 | |
DescribeLiveAudioAuditNotifyConfig | 查詢直播語音審核回調配置。 |
語音審核回調參數
只會對於有問題的音頻內容進行回調通知,通知內容包含問題語音的文本資訊以及最近一分鐘內的上下文資訊。
參數 | 類型 | 描述 |
domain | String | 播流網域名稱。 |
app | String | 應用程式名稱。 |
stream | String | 流名稱。 |
timestamp | Int | 回調時間戳記。單位:秒。 |
result | JSONArray | 檢測結果。請參見Result。 |
Result
參數 | 類型 | 描述 |
scene | String | 檢測情境。 |
label | String | 檢測結果的分類。取值:
|
suggestion | String | 處理建議。取值:
|
rate | Float | 信賴度分數。取值範圍:0(表示信賴度最低)~100(表示信賴度最高)。 說明 該值僅作為參考,強烈建議您不要在業務中使用。建議您參考Label結果用於內容違規判定。 |
details | JSONArray | 語音對應的文本詳情,每一句文本對應一個元素,可以包含一個或者多個元素。關於每個元素的結構描述,請參見Detail。 |
Detail
參數 | 類型 | 描述 |
startTime | Int | 句子開始的時間戳記,單位:秒。 |
endTime | Int | 句子結束的時間戳記,單位:秒。 |
text | String | 問題語音轉換成文本的結果。 |
label | String | 檢測結果的分類。取值:
|
語音審核回調參數樣本
{
"domain": "example.aliyundoc.com",
"app": "liveApp****",
"stream": "5d9747eba39b44769852d276f9ff****",
"timestamp": 1572248095,
"result": [
{
"scene": "antispam",
"label": "ad",
"suggestion": "block",
"rate": 99.91,
"details": [
{
"startTime": 1572248023,
"endTime": 1572248040,
"text": "麗江隴川等酒店免費居住權120天居住權可與親友共用來雲棲社國際燒酒店接待中心地址芒市團結大街96號鄧朝ktv旁諮詢熱線2285699",
"label": "ad"
},
{
"startTime": 1572248040,
"endTime": 1572248070,
"text": "典藏經典別墅尊享隆多溫泉、梁河金塔、溫泉旅遊小鎮二期濱江苑地區11月2號盛大開盤天然龍窩、溫泉水入戶戶型多樣,設計經典價位超值,值得您擁有開盤當天還有超值優惠,歡迎您前來品鑒,憑藉地址,然和縣遮島鎮先鋒路229號分享熱線0692695577769***",
"label": "normal"
},
{
"startTime": 1572248072,
"endTime": 1572248077,
"text": "快樂的時光,有你相伴愜意的日子,格外輕鬆。",
"label": "normal"
},
{
"startTime": 1572248078,
"endTime": 1572248086,
"text": "fme043忙裡偷閒音樂時光有歌曲溫暖,有你想念影院。",
"label": "normal"
}
]
}
]
}雙流災備回調
接收雙流災備切流結果的通知。
控制台配置步驟
在左側導覽列單擊功能管理> 事件回調,進入事件回調頁面。
選擇您要配置的推流網域名稱。雙流災備回調只能在推流網域名稱下進行配置。
在回調設定頁簽下,開啟雙流災備回調開關,配置回調地址。
單擊確定。
切流回調參數
參數 | 描述 |
action | 事件類型:multistream_set_master_result,表示切流結果。 |
domain | 推流網域名稱。 |
appname | 應用程式名稱。 |
streamname | 流名稱。 |
upstreamsequence | 切流後主流的流標識。 |
upstreamip | 切流後主流推流用戶端的IP地址。 |
upstreamtime | 切流後主流推流開始時間,Unix時間戳記,單位:秒。 |
changereason | 觸發切流的原因。 |
changetime | 執行切流操作的時間,Unix時間戳記,單位:秒。 |
time | 回調通知的產生時間,Unix時間戳記,單位:秒。 |
回調樣本:
{
"action": "multistream_set_master_result",
"domain": "demo.aliyundoc.com",
"appname": "liveApp****",
"streamname": "liveStream****",
"upstreamsequence": "main",
"upstreamip": "203.**.***.10",
"upstreamtime": 17*****710,
"changereason": "merge_cut_manually",
"changetime": 17*****705,
"time": 17*****706
}回調鑒權
直播推流、直播錄製、直播截圖、雙流災備回調支援回調鑒權。啟用功能後,鑒權邏輯如下:
ApsaraVideo for Live發起回調請求時,在HTTP(S)要求標頭中攜帶ALI-LIVE-TIMESTAMP和 ALI-LIVE-SIGNATURE 欄位,供您的回調訊息接收服務端進行簽名認證。
ALI-LIVE-SIGNATURE 計算方法
ALI-LIVE-SIGNATURE=MD5SUM(MD5CONTENT)
MD5CONTENT=回調網域名稱|ALI-LIVE-TIMESTAMP取值|鑒權KEY欄位說明
回調網域名稱:根據回調類型不同,回調網域名稱有所差異:
推流回調/雙流災備回調:配置了回調功能的推流網域名稱。
錄製回調/截圖回調:回調地址的網域名稱。例如,回調地址為
https://learn.aliyundoc.com/your/callback,則回調網域名稱為learn.aliyundoc.com。
ALI-LIVE-TIMESTAMP:回調請求發起的UNIX時間戳記(單位:秒)。
鑒權KEY:使用者為對應回調地址配置的鑒權KEY。
回調訊息接收服務端校正規則
回調訊息接收服務端接收回調訊息時,先根據回調類型確定回調網域名稱,再將回調網域名稱、ALI-LIVE-TIMESTAMP取值、鑒權KEY進行拼接後計算MD5值,得到加密字串,再將計算出的加密字串與ApsaraVideo for Live發起的HTTP(S)要求標頭中的ALI-LIVE-SIGNATURE欄位值進行對比。如果不一致,則請求非法。
查看回調記錄
ApsaraVideo for Live控制台僅支援查看直播推流和直播錄製回調事件的記錄與回調內容。
使用限制
開啟或更新回調配置需要最多5分鐘才會生效,生效後可以正常觸發回調和查詢回調記錄。
僅支援查詢近7天,最多1,000條回調記錄。
操作指南
在左側導覽列單擊功能管理 > 事件回調,進入事件回調頁面。
選擇要查詢的推/播流網域名稱。
在回調記錄頁簽下,選擇推流回調或錄製回調。
自訂查詢時間,輸入AppName和StreamName,單擊查詢。查看對應時間範圍內回調事件的相關資訊。