全部產品
Search
文件中心

ApsaraVideo Live:AddLiveAppRecordConfig

更新時間:Jul 14, 2026

設定 APP 錄製,輸出內容儲存至 OSS 中。

介面說明

  • 請確保在使用該介面前,已充分了解直播錄製的收費方式和價格。計費詳情,請參見直播錄製費用

  • 若採用錄製儲存至 OSS 方式進行直播錄製功能設定,需要開通 OSS 服務以及建立 Bucket,具體操作請參見設定 OSS

  • 錄製檔案儲存在 OSS 中,會產生儲存費用,在 OSS 中計費詳情請參見儲存費用

  • OSS Bucket 必須與播流域名的直播中心同地域,不支援跨地域錄製。

  • 直播錄製功能,可以將直播內容進行錄製,儲存至您指定的位置,在您需要回看直播內容時可以進行回看。儲存至 OSS 的錄製內容,支援多種儲存格式(TS、MP4、FLV、CMAF),支援自訂錄製策略(自動錄製、按需錄製、手動錄製),呼叫此介面可進行錄製範本設定。更多直播錄製功能使用可參見直播錄製說明文件。

  • (DomainName, AppName, StreamName) 三元組只能對應一個設定,如果該三元組已經存在一個設定了,再呼叫本介面新增設定會返回設定已存在錯誤。

  • 透過該介面設定的各項設定,需要在直播重新推流之後才能生效,並且長期有效。

QPS 限制

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

調試

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

調試

授權資訊

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

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

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

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

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

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

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

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

操作

存取層級

資源類型

條件關鍵字

關聯操作

live:AddLiveAppRecordConfig

create

*Domain

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

請求參數

名稱

類型

必填

描述

樣本值

DomainName

string

主播流域名。

example.com

AppName

string

播流所屬應用程式名稱。AppName 名稱與推流地址中的 AppName 名稱對應,範本才能生效。若不限制 AppName 可填 *,即可匹配所有 AppName。

liveApp****

OssEndpoint

string

OSS 儲存的 Endpoint 名稱。

直播錄製檔案儲存至 OSS,需提前建立 OSS Bucket,建立方法請參見設定 OSS

oss-cn-beijing.aliyuncs.com

OssBucket

string

OSS 儲存的 Bucket 名稱。

直播錄製檔案儲存至 OSS,需提前建立 OSS Bucket,建立方法請參見設定 OSS

liveBucket****

StreamName

string

播流名稱。StreamName 名稱與推流地址中的 StreamName 名稱對應,範本才能生效。若不限制 StreamName 可填 *,即可匹配 AppName 下所有 StreamName。

teststream

StartTime

string

錄製開始時間。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC 時間)。

說明

設定的時間必須是實際推流時間開始 7 天之內,只在串流層級錄製(StreamName 不為空)有效。

2018-04-10T09:57:21Z

EndTime

string

錄製結束時間。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC 時間)。

說明

EndTime 與 StartTime 相差不應超過 7 天,超過 7 天將按照 7 天計算。只在串流層級錄製(StreamName 不為空)有效。

2018-04-16T09:57:21Z

OnDemand

integer

按需/手動錄製。取值:

  • 0(預設值):關閉,即自動錄製。

  • 1:按需錄製,透過 HTTP 回呼方式。需要先透過 AddLiveRecordNotifyConfig 介面設定 OnDemandUrl,否則預設不錄製。

  • 2:按需錄製,透過解析推流參數。

  • 7:手動錄製,預設不錄製,可以透過 RealTimeRecordCommand 介面手動控制錄製開啟或停止。

1

DelayTime

integer

斷流拼接時長。 直播斷流時長超過設定的拼接時長後,將會產生新檔案,斷流拼接時長支援 15~21600 秒。

180

RecordFormat

array<object>

記錄詳情。

object

SliceDuration

integer

單個切片時長。單位:秒。

重要 當 RecordFormat.N.Format(格式)設為 m3u8 或 cmaf 時,本參數才有效。

不填則預設為 30 秒。取值範圍:5s~30s。

30

SliceOssObjectPrefix

string

切片名稱。

重要 當 RecordFormat.N.Format(格式)設為 m3u8 或 cmaf 時,本參數才需要設定。
  • 預設 30 秒一片,小於 256 位元組,支援變數匹配,包含 {AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。

  • 參數值必須包含 {UnixTimestamp} 和 {Sequence} 變數。

record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}

CycleDuration

integer

週期錄製時長。單位:秒。

說明
  • 若不填則取預設值,不同錄製格式的預設值不同:m3u8、cmaf 格式預設 6 小時,flv、mp4 格式預設 1 小時。

  • 如果在一個錄製週期內,直播串流發生了斷流,但是在斷流拼接時長內,該直播串流又正常推流,那麼仍會在同一個錄製檔案中繼續錄製。

  • 一條直播串流必須斷流超過斷流拼接時長,才會產生錄製檔案。

1

OssObjectPrefix

string

OSS 儲存的錄製檔案名稱。

  • 檔案名稱小於 256 位元組,支援變數匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。

  • 參數值必須要有 {StartTime} 或 {EscapedStartTime} 和 {EndTime} 或 {EscapedEndTime}。

record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}

Format

string

格式。目前支援 M3U8、FLV、MP4、CMAF。取值:

重要 RecordFormat 和 TranscodeRecordFormat 兩者至少需要設定一個。如果選擇 m3u8 或 cmaf 格式,必須同時設定請求參數 RecordFormat.N.SliceOssObjectPrefix 和 RecordFormat.N.SliceDuration。
  • m3u8。

  • flv。

  • mp4。

  • cmaf。

m3u8

TranscodeRecordFormat

array<object>

轉碼記錄詳情。

object

SliceDuration

integer

轉碼串流錄製單個切片時長,單位:秒。

重要 當 TranscodeRecordFormat.N.Format(轉碼串流錄製格式)設為 m3u8 或 cmaf 時,本參數才生效。

不填則預設為 30 秒。取值範圍:5s~30s。

30

SliceOssObjectPrefix

string

轉碼串流錄製切片名稱。

重要 當 TranscodeRecordFormat.N.Format(轉碼串流錄製格式)設為 m3u8 或 cmaf 時,本參數才需要設定。
  • 預設 30 秒一片,小於 256 位元組,支援變數匹配,包含 {AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。

  • 參數值必須包含 {UnixTimestamp} 和 {Sequence} 變數。

record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}

CycleDuration

integer

轉碼串流錄製週期錄製時長。單位:秒。

說明

若不填則取預設值,不同錄製格式的預設值不同:m3u8、cmaf 格式預設 6 小時,flv、mp4 格式預設 1 小時。

21600

OssObjectPrefix

string

轉碼串流錄製 OSS 儲存的錄製檔案名稱。

  • 檔案名稱小於 256 位元組,支援變數匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。

  • 參數值必須要有 {StartTime} 或 {EscapedStartTime} 和 {EndTime} 或 {EscapedEndTime}。

record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}

Format

string

轉碼串流錄製格式。目前支援 M3U8、FLV、MP4、CMAF。取值:

重要 如果選擇 m3u8 或 cmaf 格式,必須同時設定請求參數 TranscodeRecordFormat.N.SliceOssObjectPrefix 和 TranscodeRecordFormat.N.SliceDuration。

  • m3u8。

  • flv。

  • mp4。

  • cmaf。

m3u8

TranscodeTemplates

array

轉碼串流錄製的轉碼範本群組。

sd

string

  • 轉碼串流錄製的轉碼範本,可進行多個設定,最多為 10 個。

  • 當設定 TranscodeRecordFormat.N.xxx 設定時,至少需要設定一個 TranscodeTemplates。

  • 如需錄製多個或全部的轉碼串流,可設定 TranscodeTemplates.1 為 ***** 即可。

說明

TranscodeTemplates 不允許傳入 raw,屬於保留標識。
RepeatList 表示為 TranscodeTemplates.N 中的 N,可理解為遞增進行多個設定,如:TranscodeTemplates.1=sd,TranscodeTemplates.2=hd。

sd

返回參數

名稱

類型

描述

樣本值

object

RequestId

string

請求 ID。

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

樣本

正常返回樣本

JSON格式

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

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 InvalidOssEndpoint.Malformed %s
400 InvalidOssBucket.Malformed Specified parameter OssBucket is not valid. OSSBucket參數錯誤,請您確認該OSS BUCKET參數是否正確。
400 InvalidOssBucket.NotFound The parameter OssBucket does not exist.
400 InvalidFormat.Malformed Specified parameter Format is not valid. Format參數錯誤,請您確認該Format參數是否正確。
400 InvalidCycleDuration.Malformed Specified CycleDuration Format is not valid. CycleDuration參數格式錯誤,請您確認該CycleDuration參數格式是否正確。
400 InvalidSliceDuration.Malformed Specified SliceDuration Format is not valid.
400 InvalidTemplateLength.Malformed Specified record template length is not valid.
400 InvalidTemplate.ForbidRaw Template named raw is Forbidden.
400 MissingTemplate Template is mandatory for this action. 缺少轉碼範本參數配置。
400 MissingOssObjectPrefix OssObjectPrefix is mandatory for this action.
400 MissingSliceOssObjectPrefix SliceOssObjectPrefix is mandatory for this action.
400 InvalidOssObjectPrefix.Malformed Specified parameter OssObjectPrefix is not valid.
400 InvalidSliceOssObjectPrefix.Malformed Specified parameter SliceOssObjectPrefix is not valid. SliceOssObjectPrefix 參數錯誤,請您確認該 SliceOssObjectPrefix 參數是否正確。
400 ConfigAlreadyExists Config has already exist.
400 InvalidFormat.IllegalOperation Specified parameter Format can not be multiple.
400 InvalidDelayTime Specified Delaytime is invalid.
400 Live2Vod.ConfigAlreadyExists Had live2vod record config already.
400 InvalidStartTime.Malformed Specified StartTime is malformed.
400 InvalidEndTime.Malformed Specified EndTime is malformed.
400 InvalidEndTime.Mismatch Specified EndTime does not math the specified StartTime or current time.
400 InvalidStartTime.Mismatch Specified StartTime does not math the current time.

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

變更歷史

更多資訊,參考變更詳情