建立某個時間範圍的M3U8索引檔案。
介面說明
您已配置 OSS,具體操作,請參見配置 OSS。 直播錄製索引是將ApsaraVideo for Live流以 M3U8 的格式進行錄製,儲存在 OSS 中後,對已儲存的 TS 分區索引檔案進行即時的剪輯處理。
建立錄製索引必保證直播流發生過推流行為,如果設定的時間內未發生過直播或直播流名稱錯誤等會導致建立錄製索引失敗。
請確保 DomainName/AppName/StreamName 都是正確的,否則會返回 InvalidStream.NotFound 錯誤。
StartTime 和 EndTime 的間隔至少是一片 TS 的時間長度(預設為 30s)。
EndTime 要大於 StartTime,並且間隔最多不能超過 4 天。
TS 分區資訊在ApsaraVideo for Live系統中僅儲存 3 個月,建立 M3U8 檔案只能選擇最近 3 個月的錄製內容。
TS 分區檔案儲存體在 OSS 中,儲存時間由 OSS 的儲存配置決定。詳細資料,請參見設定生命週期規則。
建立好的 M3U8 索引檔案的資訊在ApsaraVideo for Live系統中僅儲存 6 個月,若要查詢僅能查詢 6 個月內建立的索引檔案的資訊。
M3U8 索引檔案儲存體在 OSS 中,儲存時間由 OSS 的儲存配置決定。
當 M3U8 和 TS 的 bucket 不同時,M3U8 裡的 TS 路徑將會是 HTTP 格式。
QPS 限制
本介面的單使用者 QPS 限制為 45 次/秒。超過限制,API 呼叫會被限流,這可能會影響您的業務,請合理調用。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
live:CreateLiveStreamRecordIndexFiles |
create |
*Domain
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| DomainName |
string |
是 |
主播流網域名稱。 |
example.com |
| AppName |
string |
是 |
播流所屬應用程式名稱。AppName 名稱與推流地址中的 AppName 名稱對應,模板才會生效。若不限制 AppName 可填*,即可匹配所有 AppName。 |
liveApp**** |
| StreamName |
string |
是 |
播流名稱。StreamName 名稱與推流地址中的 StreamName 名稱對應,模板才會生效。若不限制 StreamName 可填*,即可匹配所有 StreamName。 |
liveStream**** |
| OssEndpoint |
string |
是 |
OSS 儲存 Endpoint 名稱。 |
cn-oss-****.aliyuncs.com |
| OssBucket |
string |
是 |
OSS 儲存 Bucket 名稱。 |
liveBucket**** |
| OssObject |
string |
是 |
OSS 儲存的錄製檔案名稱。 |
{AppName}/{StreamName}/{Date}/{Hour}/{Minute}_{Second}.m3u8 |
| StartTime |
string |
是 |
索引檔案的開始時間。ts 檔案的上傳時間在此之後則會被包含進索引檔案。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC 時間)。 |
2017-12-21T08:00:00Z |
| EndTime |
string |
是 |
索引檔案的結束時間。ts 檔案的上傳時間在此之前則會被包含進索引檔案。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC 時間)。 |
2017-12-22T08:00:00Z |
| EndTimeIncluded |
boolean |
否 |
是否包含結束時間。傳 true 會嘗試多包含一個 ts 檔案,建立的索引檔案會完整覆蓋 StartTime 和 EndTime。 |
false |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| RequestId |
string |
請求 ID。 |
550439A3-F8EC-4CA2-BB62-B9DB43EEEF30 |
| RecordInfo |
object |
錄製配置資訊。 |
|
| RecordUrl |
string |
索引檔案地址。 |
http://*****/atestObject.m3u8 |
| StreamName |
string |
播流名稱。 |
liveStream**** |
| CreateTime |
string |
建立時間。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC 時間)。 |
2016-05-27T09:40:56Z |
| RecordId |
string |
索引檔案 ID。 |
c4d7f0a4-b506-43f9-8de3-07732c3f**** |
| Height |
integer |
視頻高。 |
480 |
| OssBucket |
string |
OSS 儲存 Bucket 名稱。 |
liveBucket**** |
| DomainName |
string |
主播流網域名稱。 |
example.com |
| OssObject |
string |
OSS 儲存的錄製檔案名稱。 |
liveObject****.m3u8 |
| EndTime |
string |
結束時間。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC 時間)。 |
2015-12-01T07:40:00Z |
| AppName |
string |
播流所屬應用程式名稱。 |
liveApp**** |
| StartTime |
string |
開始時間。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC 時間)。 |
2015-12-01T07:36:00Z |
| Width |
integer |
視頻寬。 |
640 |
| Duration |
number |
錄製時間長度。單位:秒。 |
20 |
| OssEndpoint |
string |
OSS 儲存 Endpoint 名稱。 |
cn-oss-****.aliyuncs.com |
樣本
正常返回樣本
JSON格式
{
"RequestId": "550439A3-F8EC-4CA2-BB62-B9DB43EEEF30",
"RecordInfo": {
"RecordUrl": "http://*****/atestObject.m3u8",
"StreamName": "liveStream****",
"CreateTime": "2016-05-27T09:40:56Z",
"RecordId": "c4d7f0a4-b506-43f9-8de3-07732c3f****",
"Height": 480,
"OssBucket": "liveBucket****",
"DomainName": "example.com",
"OssObject": "liveObject****.m3u8",
"EndTime": "2015-12-01T07:40:00Z",
"AppName": "liveApp****",
"StartTime": "2015-12-01T07:36:00Z",
"Width": 640,
"Duration": 20,
"OssEndpoint": "cn-oss-****.aliyuncs.com"
}
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | InvalidStartTime.Mismatch | Specified StartTime does not math the current time. | |
| 400 | InvalidStartTime.Malformed | Specified StartTime is malformed. | |
| 400 | InvalidParams | invalid params | |
| 400 | InvalidEndTime.Malformed | Specified EndTime is malformed. | |
| 400 | InvalidEndTime.Mismatch | Specified end time does not math the specified start time. | 結束時間與開始時間不匹配,請您確認時間的匹配度。 |
| 400 | InvalidOssEndpoint.Malformed | Specified OssEndpoint is malformed. | |
| 400 | InvalidOssBucket.Malformed | Specified OssBucket is malformed. | OSSBucket參數錯誤,請您確認該OSS BUCKET參數是否正確。 |
| 400 | InvalidOssObject.Malformed | Specified OssObject is malformed. | |
| 400 | InvalidStream.NotFound | Speicified stream does not exist. | |
| 400 | InvalidConfig.Changed | The oss bucket info between StartTime and EndTime has changed. | ossbucket開始結束時間已經改變。 |
| 400 | NoRecordContent | The record content between StartTime and EndTime is empty. | StartTime和EndTime之間的記錄內容為空白。 |
| 400 | RecordContentExceed | The record content between StartTime and EndTime is exceeded, please narrow down the range. | |
| 400 | OperationNotSupport | The Operation is not support for flv/mp4 format or live to vod record. | |
| 500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | |
| 404 | InvalidBucket.NotFound | The bucket does not belong to you. | 指定的bucket不屬於目前使用者。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。