阿里雲視頻直播錄制--自動錄制


 

  一旦推流就啟動錄制,一旦斷流就停止錄制。您可以對某個域名下,所有流、某個appname下所有流、或者單獨某條流開啟自動錄制。

  適用場景:

    1. 只要有推流就錄制。同一條直播推流上來后,要么錄制,要么不錄制。

    2. 事先指定錄制的時間段,如果該時間段內有推流,就啟動錄制。

 

  限制:

    如果不指定錄制周期,錄制文件會在每6個小時自動生成一個錄制文件。

 

  使用流程:

    1. 配置自動錄制規則

    2. 推流

 

  API:

    1. 配置錄制規則,調用AddLiveAppRecordConfig配置APP錄制,輸出內容保存到OSS中。

    前提要求:允許直播服務寫入用戶OSS

    說明

  • 修改配置后,新配置對修改之前的直播流不生效,必須重新推流才能生效!
  • 如果指定了時間段,在該時間段內如果沒有推流,自然不會錄制。限定時間段的配置規則是一次性的,即當指定的時間段過去之后,該規則不會再觸發。需要注意的是,StartTime和EndTime字段填的是UTC時間,請注意和本地時區的對應。
  • AddLiveAppRecordConfig接口中的AppName和StreamName可以填為*,表示所有AppName和所有StreamName(即不限制AppName或StreamName)。
  • 可以通過AddLiveAppRecordConfig配置多條規則,規則匹配時存在優先級:如果想知道自動錄制是否生效,或者希望針對每個錄制文件做實時處理,可以設置錄制回調,詳見:錄制內容檢索與管理
    • 同時指定DomainName、AppName(不為*)、StreamName(不為*)的優先級最高。
    • 同時指定DomainName、AppName(不為*)的優先級次之。
    • 單獨指定DomainName,AppName為*(即只限定域名)的優先級最低。
  • 自動錄制每隔一定周期(周期時間通過RecordFormat.N.CycleDuration字段配置)會產生一個錄制文件。如果在一個錄制周期內,直播流發生了斷流,但是在3分鍾內,該直播流又推上來了,那么仍會在同一個錄制文件中繼續錄制。這就意味着,一條直播流必須斷流超過3分鍾,才會生成最后一個錄制文件。如果您希望修改這個默認的3分鍾斷流時間,可以提交工單在后台修改。

   

請求參數

 
名稱 類型 是否必選 示例值 描述
Action String AddLiveAppRecordConfig

系統規定參數,取值:AddLiveAppRecordConfig。

AppName String testApp

直播流所屬應用名稱。

支持通配符(*),代表該域名下所有的AppName。

DomainName String test.com

加速域名,指播放域名。

OssBucket String testBucket

OssBucket名稱。

OssEndpoint String oss-cn-shanghai.aliyuncs.com

OssEndpoint域名。

RecordFormat.N.Format String m3u8

格式。目前支持m3u8、flv或mp4。

RecordFormat.N.OssObjectPrefix String record/{AppName}/{StreamName}/{Sequence}{EscapedStartTime}{EscapedEndTime}

OSS存儲的錄制文件名,小於256 byte,支持變量匹配,包含 {AppName}、{StreamName}、{Sequence}、{StartTime}、{EndTime}、{EscapedStartTime}、{EscapedEndTime}。參數值必須要有{StartTime}或{EscapedStartTime}和{EndTime}或{EscapedEndTime}變量。默認支持1小時周期錄制,最小周期時間15分鍾,最多6小時。

例如:record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}。

<note>{StartTime}/{EndTime}格式為:2006-01-02-15:04:05,{EscapedStartTime}/{EscapedEndTime}格式為:2006-01-02-15-04-05,推薦使用 Escaped 格式,避免特殊字符在URL中帶來的一些問題。</note>

RecordFormat.N.SliceOssObjectPrefix String record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}

當format格式是m3u8錄制,則需要配置,表示ts切片名稱。默認30秒一片,小於256byte,支持變量匹配,包含{AppName}、{StreamName}、{UnixTimestamp}、{Sequence}。

例如:record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence},參數值必須包含{UnixTimestamp}和{Sequence}變量。

RecordFormat.N.CycleDuration Integer 1

周期錄制時長。單位:秒。不填則默認為6小時。

StreamName String teststream

流名稱。

StartTime String 2018-04-10T09:57:21Z

錄制開始時間。格式:UTC時間。

設置的時間必須是實際推流時間(這條流計划推流錄制的時間)開始7天之內的時間,只在流級別錄制(StreamName不為空)有效。

EndTime String 2018-04-16T09:57:21Z

錄制結束時間。格式:UTC時間。

設置的時間必須大於StartTime,且與StartTime相差不應超過7天,超過7天將按照7天計算,只在流級別錄制(StreamName不為空)有效。

OnDemand Integer 1

按需錄制。

  • 0表示關閉。
  • 1表示通過HTTP回調方式。
  • 2表示解析推流參數按需錄制
  • 7表示默認不錄制,通過RealTimeRecordCommand接口手動控制錄制啟停。
 
說明 使用1方式時候需要先通過 AddLiveRecordNotifyConfig接口設置OnDemandUrl,否則默認不錄制。

返回數據

 
名稱 類型 示例值 描述
RequestId String 16A96B9A-F203-4EC5-8E43-CB92E68F4CD8

請求ID

 

    2. 刪除自動錄制配置,調用DeleteLiveAppRecordConfig解除錄制配置。

    通過AddLiveAppRecordConfig添加的配置,可以使用該接口刪除。會刪除DomainName、AppName、StreamName對應的配置。

    

請求參數

 
名稱 類型 是否必選 示例值 描述
Action String DeleteLiveAppRecordConfig

系統規定參數。取值:DeleteLiveAppRecordConfig。

AppName String testApp

直播流所屬應用名稱。

DomainName String www.yourdomain.com

您的加速域名。

StreamName String teststream

流名稱。

返回數據

 
名稱 類型 示例值 描述
RequestId String 6EBD1AC4-C34D-4AE1-963E-B688A228BE31

請求ID

 

    3. 查詢所有配置,調用DescribeLiveRecordConfig查詢域名下所有App錄制配置。

    根據DomainName、AppName、StreamName匹配查詢,以列表形式返回(可能有多條配置)。支持分頁和排序。

    

請求參數

 
名稱 類型 是否必選 示例值 描述
Action String DescribeLiveRecordConfig

系統規定參數。取值:DescribeLiveRecordConfig。

DomainName String www.yourdomain.com

您的加速域名。

AppName String testApp

直播流所屬應用名稱。

Order String asc

排序。取值:

  • asc(默認值):升序
  • desc:降序
PageNum Integer 1

當前頁碼。默認值:1。

PageSize Integer 5

每頁大小。默認值:10,取值范圍:5~30。

StreamName String myStreamName

直播流名稱。

返回數據

 
名稱 類型 示例值 描述
RequestId String 5056369B-D337-499E-B8B7-B761BD37B08A

請求ID。

LiveAppRecordList    

錄制配置。

DomainName String test.com

流所屬加速域名。

AppName String testApp

流所屬應用名稱。

OssEndpoint String oss-cn-shanghai.aliyuncs.com

OSS endpoint。

OssBucket String test123

OSS存儲bucket名稱。

CreateTime String 2016-05-20T09:33:38Z

創建時間。

RecordFormatList    

格式列表。

Format String xxx

格式名稱。

OssObjectPrefix String xxx

OSS存儲文件名。

SliceOssObjectPrefix String xxx

存儲分片的OSS文件名。

CycleDuration Integer 3600

周期錄制時間,單位:秒。

EndTime String 2018-11-08T03:49:18Z

計划錄制結束時間,UTC時間。

OnDemond Integer 0

按需錄制。可取值:0 | 1 | 2。0表示關閉,1表示通過HTTP回調方式,2表示通過推流參數方式。

使用1方式時候需要設置OnDemandCallback, 否則默認不錄制。

StartTime String 2018-11-08T02:49:18Z

計划錄制開始時間,UTC時間。

StreamName String myStreamName

流名稱。

PageNum Integer 5

分頁的頁碼。

PageSize Integer 10

每頁大小。

Order String desc

排序。

TotalPage Integer 20

總頁數。

TotalNum Integer 12

符合條件的總個數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM