全部產品
Search
文件中心

ApsaraVideo Live:AddLiveStreamMerge - 添加主備合流

更新時間:May 09, 2026

調用AddLiveStreamMerge添加主備合流配置。

介面說明

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

調試

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

調試

授權資訊

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

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

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

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

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

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

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

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

操作

存取層級

資源類型

條件關鍵字

關聯操作

live:AddLiveStreamMerge

create

*Domain

acs:cdn:*:{#accountId}:domain/{#DomainName}

請求參數

名稱

類型

必填

描述

樣本值

RegionId

string

地區 ID。

cn-shanghai

DomainName

string

播流網域名稱。

example.com

AppName

string

合流輸出 App 名稱。AppName 名稱與推流地址中的 AppName 名稱相對應,模板才會生效。不可以填*。

app

StreamName

string

合流輸出 Stream 名稱。StreamName 名稱與推流地址中的 StreamName 名稱相對應,模板才會生效。不可以填*。

StreamName

InAppName1

string

合流輸入主流應用程式名稱,輸入的 AppName 必須與主流推流地址中的 AppName 保持一致,方可生效。

app1

InStreamName1

string

合流輸入主流直播流名稱,輸入的 AppName 必須與主流推流地址中的 AppName 保持一致,方可生效。

InStream1

InAppName2

string

合流輸入備流應用程式名稱,輸入的 AppName 必須與備流推流地址中的 AppName 保持一致,方可生效。

app2

InStreamName2

string

合流輸入備流直播流名稱,輸入的 AppName 必須與備流推流地址中的 AppName 保持一致,方可生效。

stream2

StartTime

string

合流開始時間。

日期格式按照 ISO8601 標記法,並使用 UTC+0 時間,格式為 yyyy-MM-ddTHH:mm:ssZ。

2020-05-29T00:00:00Z

EndTime

string

合流結束時間。

日期格式按照 ISO8601 標記法,並使用 UTC+0 時間,格式為 yyyy-MM-ddTHH:mm:ssZ。

說明

開始時間與結束時間最大相差 7 天。

2020-05-29T01:00:00Z

Protocol

string

直播流協議,取值:

  • rtmp(預設值)

  • rtc

rtmp

LiveMerger

string

是否使用 liveswitch 引擎

  • on 使用 liveswitch 新引擎

  • off 預設值,使用舊引擎(rtmpr 等)

off

MergeParameters

string

切流相關的配置參數

  1. 明確發生斷流時(eof 或 net err),立刻觸發主備切換;

  2. 最近 5 秒內卡頓率超過 60%,立刻觸發主備切換;

  3. 拉流逾時,持續 2 秒收不到幀資料,觸發主備切換;

  4. 未斷流、未發生卡頓,但是最近 ali_max_no_frame_timeout 時間內的平均幀率 小於 ali_low_frame_rate_threshold,立刻觸發主備切換。如果使用者佈建了 ali_max_no_frame_timeout 參數,則 3 的逾時時間會同步更新成 ali_max_no_frame_timeout。

  5. 開啟 block_all_jitter 則 2、3、4 不生效。

  • 取值範圍: 10 > timeout > 2 200 > threshold > 1 block 的值為 0 或 1

ali_low_frame_rate_threshold=10&ali_max_no_frame_timeout=5&block_all_jitter=0

SelectAppName

string

SelectStreamName

string

SwitchMode

string

說明

AppName、InAppName1、InAppName2 三個配置項中不可與其它兩個中任意一個重複;StreamName、InStreamName1、InStreamName2 三個配置項中不可與其它兩個中任意一個重複。

返回參數

名稱

類型

描述

樣本值

object

RequestId

string

請求 ID。

16A96B9A-F203-4EC5-8E43-CB92E68F****

Message

string

  • 附加資訊,典型應用情境是對失敗調用進行簡述,方便調用方定位問題

  • 取值:OK、config invalid, degrade to no livemerger。

OK

config invalid, degrade to no livemerger 表示 liveswitch 新引擎的配置不完整,自動降級為舊引擎

樣本

正常返回樣本

JSON格式

{
  "RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F****",
  "Message": "OK"
}

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 InvalidStartTime.Malformed Specified parameter StartTime is not valid.
400 InvalidEndTime.Malformed Specified parameter EndTime is not valid.
400 InvalidStartTime.ValueNotSupported The specified value of parameter StartTime is not supported. 傳入的StartTime參數不支援。
400 InvalidParam Parameter invalid. 輸入參數不合法
400 QuotaExceeded.Merge Exceed max merge count limit
400 ConfigAlreadyExists Config has already exist.
400 Duration.Exceed Duration between StartTime and EndTime is too long.
400 InvalidParam.CodeIllegalDuration %s. 開始時間應該小於結束時間。
500 InternalError The request processing has failed due to backend service exception.

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

變更歷史

更多資訊,參考變更詳情