全部產品
Search
文件中心

ApsaraVideo Live:CreateRtcMPUEventSub

更新時間:Jul 15, 2026

建立混流轉推事件訂閱。

介面說明

本介面用於建立混流轉推事件訂閱。在建立訂閱時,您可以設定回呼位址、訂閱應用程式與頻道資訊等參數。

QPS 限制

本介面的單使用者 QPS 限制為每秒 50 次。超過限制時,API 呼叫會被限流,這可能會影響您的業務,請合理呼叫。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

live:CreateRtcMPUEventSub

create

*全部資源。

*

請求參數

名稱

類型

必填

描述

樣本值

AppId

string

訂閱的應用程式 ID。透過存取 影片直播>直播+>即時音影片>應用程式管理 可以檢視擁有的應用程式 ID,若沒有則可透過【建立應用程式】進行新建。

說明

應用程式 ID 由大小寫字母、數字、底線、短橫線(-)組成,最多 64 個字元。

yourAppId

ChannelIds

string

指定接收回呼的混流任務頻道 ID,可以同時填寫多個頻道 ID,多個頻道 ID 之間使用英文逗號「,」分隔。

說明
  • 如果不填,則預設接收該 AppId 下所有混流轉推任務的回呼事件。

  • 同時填寫多個頻道 ID 時,不能填寫重複的頻道 ID,最多同時填寫 20 個頻道 ID。

  • 每個頻道 ID 由大小寫字母、數字、底線、短橫線(-)組成,最多 64 個字元。

yourChannelIds

CallbackUrl

string

回呼位址。位址格式請參見以下回呼內容規範。

說明

回呼位址通訊協定標頭為 HTTP、HTTPS 等,僅可包含以下字元:a-z、A-Z、0-9、-、_、?、%、=、#、.、/ 和 +,不超過 2083 個字元。

http://****.com/callback

回呼內容範例

回呼內容以 HTTP/HTTPS POST 請求傳送到您的業務伺服器,字元編碼格式為 UTF-8,請求主體為 JSON 結構,當您的業務伺服器回應 HTTP 狀態碼為 200 時,視為回呼成功。回呼內容範例如下:

說明

建議在判斷混流轉推是否正常時,不僅需要根據回呼通知判斷,也要同時配合接入的對應 CDN 廠商提供的線上串流狀態來判斷是否正常。

{
	"EventType": 1,
	"MsgId": "42bba8b5-94ab-468c-9dae-9b501dd****",
	"AppId": "rtcdev",
	"SubId": "Sub-9799B2C45009799B2*****",
	"TaskId": "mpucallbacktest",
	"CallbackTs": 1712656430476,
	"Payload": {
		"DstUrl": "rtmp://domain/app/stream?auth",
		"EventTs": 1712656430384,
		"EventCode": 1,
		"ErrorCode": 0,
		"ErrorMessage": ""
	}
}

回呼資訊

回呼資訊的標頭包括如下欄位:

屬性描述
Content-Type資料類型,固定值:application/json
Ali-Rtc-Timestamp時間戳記
Ali-Rtc-Signature簽章值

回呼資訊的回呼內容包括如下欄位:

屬性類型描述範例值
EventTypeInteger回呼事件類型,對於混流轉推回呼,類型為固定值:11
MsgIdString回呼 ID,唯一表示本次回呼*****973C-4529-A334*****
AppIdString訂閱的應用程式 IDyourAppId
SubIdString訂閱 IDSub-******9799B2C4500******
TaskIdString旁路任務 IDyourTaskId
CallbackTsInteger發起回呼請求的毫秒時間戳記1712656430476
PayloadJSON Object回呼事件資訊-
  • 回呼事件資訊(Payload)

屬性類型描述範例值
DstUrlString轉推目的 URL 位址rtmp://domain/app/stream?auth
EventTsInteger回呼事件發生的毫秒時間戳記1712656430384
EventCodeInteger回呼事件 Code1
ErrorCodeInteger回呼事件的錯誤碼10001
ErrorMessageString回呼事件的錯誤原因rtmp server init failed

回呼事件 Code

欄位名稱含義回呼頻率
MPU_STATE_PREPARING0旁路轉推任務建立成功,任務被觸發僅回呼 1 次
MPU_STATE_ESTABLISHING1旁路轉推任務連線中每 5 秒回呼 1 次
MPU_STATE_RUNNING2旁路轉推任務執行中僅回呼 1 次
MPU_STATE_RECOVERING3旁路轉推異常中斷,正在恢復中每 5 秒回呼 1 次
MPU_STATE_TERMINATED4旁路轉推任務結束,包括正常停止、啟動失敗、異常退出等,透過 ErrorCode 與 ErrorMessage 區分僅回呼 1 次

回呼事件的狀態轉移範例如下: 注意:

  1. 回呼資訊有可能會亂序到達您的業務伺服器,您可以根據 Payload 中的 EventTs 進行事件排序,如果您只關心回呼事件的最新狀態,可以忽略後續到達的過期事件。

  2. 對於透過 API 建立混流轉推任務(新) 建立的混流轉推任務,當房間內所有使用者均離開房間後一段時間,任務會自動停止,停止時會傳送一個 MPU_STATE_TERMINATED 的回呼。

  3. 回呼設定僅影響增量任務,不影響存量任務。即:

a. 開啟回呼設定前已啟動的任務,不傳送回呼;

b. 開啟回呼設定後啟動的任務,會傳送回呼;

c. 刪除回呼設定前已啟動的任務,會繼續傳送回呼直到任務結束;

d. 刪除回呼設定後啟動的任務,不傳送回呼。

回呼錯誤碼

當旁路轉推任務結束時,透過 ErrorCode 與 ErrorMessage 標示結束的原因。

錯誤碼錯誤訊息含義
0任務正常停止
10001rtmp server init failed連線失敗,任務異常結束
10002rtmp server internal error服務內部錯誤,任務異常結束
10003task idle timeout任務閒置逾時後結束

回呼驗證說明

事件回呼驗證功能預設開啟,驗證邏輯如下所示:

  • 阿里雲端影片直播服務發起回呼請求時,在 HTTP(S) 請求標頭中包含 Ali-Rtc-Timestamp 和 Ali-Rtc-Signature 欄位,供回呼訊息接收伺服器進行簽章認證。Ali-Rtc-Signature 值計算方式為:Ali-Rtc-Signature=MD5SUM(MD5CONTENT)。其中,MD5CONTENT=回呼位址|Ali-Rtc-Timestamp 取值|驗證金鑰;回呼位址指設定的完整回呼 URL,驗證金鑰指使用者建立 AppId 時產生的 AppKey。

  • 回呼訊息接收伺服器接收回呼訊息時,將回呼位址、Ali-Rtc-Timestamp 取值、驗證金鑰進行拼接後計算 MD5 值,得到加密字串,再將計算出的加密字串與音影片通訊服務發起的 HTTP(S) 請求標頭中的 Ali-Rtc-Signature 欄位值進行比對,如果不一致,則請求非法。

回呼異常重試

阿里雲發起回呼請求時,僅當您的業務伺服器回應 HTTP 狀態碼為 200 時視為回呼成功。若回呼失敗,阿里雲會重試 7 次,分別間隔 1 秒、2 秒、5 秒、10 秒、1 分鐘、2 分鐘、5 分鐘。每次重試請求均會產生對應的回呼記錄。

返回參數

名稱

類型

描述

樣本值

object

RequestId

string

請求 ID。

******3B-0E1A-586A-AC29-742247******

SubId

string

訂閱 ID。

Sub-******9799B2C4500******

樣本

正常返回樣本

JSON格式

{
  "RequestId": "******3B-0E1A-586A-AC29-742247******",
  "SubId": "Sub-******9799B2C4500******"
}

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 InvalidParam %s. 參數校驗失敗。
400 MissingParam %s, please check and try again later. 參數缺失,請檢查後重試。
400 InvalidAppId %s, please check and try again later. AppId無效,請檢查後重試。
500 InternalError InternalError
403 OperationDenied Your account has not enabled the Live service
403 Forbidden %s, please check and try again later. 無權限,請檢查後重試。

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情