Membuat file indeks m3u8 untuk rentang waktu tertentu.
Deskripsi operasi
Anda harus telah mengonfigurasi Object Storage Service (OSS). Untuk informasi selengkapnya, lihat Configure OSS. ApsaraVideo Live merekam aliran live dalam format M3U8 dan menyimpannya di OSS. Anda dapat membuat indeks rekaman tersebut untuk melakukan Pengeditan video secara real-time pada shard TS yang tersimpan.
Untuk membuat indeks rekaman, aliran live harus telah diingest. Operasi ini gagal jika tidak ada aliran yang diingest selama rentang waktu yang ditentukan atau jika nama aliran salah.
Pastikan DomainName, AppName, dan StreamName benar. Jika tidak, kesalahan InvalidStream.NotFound akan dikembalikan.
Durasi antara StartTime dan EndTime harus setidaknya sepanjang satu shard TS. Durasi default adalah 30 detik.
EndTime harus lebih besar dari StartTime. Durasi di antara keduanya tidak boleh melebihi 4 hari.
Karena ApsaraVideo Live hanya menyimpan informasi shard TS selama 3 bulan, Anda hanya dapat membuat file M3U8 untuk rekaman dalam 3 bulan terakhir.
File shard TS disimpan di OSS. Periode retensi bergantung pada konfigurasi penyimpanan OSS Anda. Untuk informasi selengkapnya, lihat Set lifecycle rules.
Karena ApsaraVideo Live hanya menyimpan informasi tentang file indeks M3U8 yang telah dibuat selama 6 bulan, Anda hanya dapat menanyakan informasi untuk file indeks yang dibuat dalam 6 bulan terakhir.
File indeks M3U8 disimpan di OSS. Periode retensi bergantung pada konfigurasi penyimpanan OSS Anda.
Jika file M3U8 dan file TS berada di bucket yang berbeda, path ke file TS dalam file M3U8 menggunakan format HTTP.
Batas QPS
Batas untuk panggilan API ini adalah 45 permintaan per detik (QPS) per pengguna. Jika batas tersebut dilampaui, panggilan API akan dikenai Pengendalian aliran, yang dapat memengaruhi bisnis Anda. Rencanakan panggilan API Anda secara tepat.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
live:CreateLiveStreamRecordIndexFiles |
create |
*Domain
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| DomainName |
string |
Yes |
Domain streaming. |
example.com |
| AppName |
string |
Yes |
Nama aplikasi. AppName harus sesuai dengan AppName dalam URL ingest agar templat berlaku. Untuk mencocokkan semua aplikasi, masukkan tanda bintang (*). |
liveApp**** |
| StreamName |
string |
Yes |
Nama aliran. StreamName harus sesuai dengan StreamName dalam URL ingest agar templat berlaku. Untuk mencocokkan semua aliran, masukkan tanda bintang (*). |
liveStream**** |
| OssEndpoint |
string |
Yes |
Endpoint bucket OSS. |
cn-oss-****.aliyuncs.com |
| OssBucket |
string |
Yes |
Nama bucket OSS. |
liveBucket**** |
| OssObject |
string |
Yes |
Nama file rekaman yang disimpan di OSS. |
{AppName}/{StreamName}/{Date}/{Hour}/{Minute}_{Second}.m3u8 |
| StartTime |
string |
Yes |
Waktu mulai untuk file indeks. File TS yang diunggah setelah waktu ini akan dimasukkan ke dalam file indeks. Waktu harus dalam UTC dan dalam format yyyy-MM-ddTHH:mm:ssZ. |
2017-12-21T08:00:00Z |
| EndTime |
string |
Yes |
Waktu akhir untuk file indeks. File TS yang diunggah sebelum waktu ini akan dimasukkan ke dalam file indeks. Waktu harus dalam UTC dan dalam format yyyy-MM-ddTHH:mm:ssZ. |
2017-12-22T08:00:00Z |
| EndTimeIncluded |
boolean |
No |
Menentukan apakah waktu akhir harus disertakan. Jika Anda mengatur nilai ini ke true, sistem akan mencoba menyertakan satu file TS tambahan untuk memastikan bahwa file indeks yang dibuat sepenuhnya mencakup rentang waktu antara StartTime dan EndTime. |
false |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
ID permintaan. |
550439A3-F8EC-4CA2-BB62-B9DB43EEEF30 |
| RecordInfo |
object |
Informasi rekaman. |
|
| RecordUrl |
string |
URL file indeks. |
http://*****/atestObject.m3u8 |
| StreamName |
string |
Nama aliran. |
liveStream**** |
| CreateTime |
string |
Waktu pembuatan file. Waktu dalam UTC dan dalam format yyyy-MM-ddTHH:mm:ssZ. |
2016-05-27T09:40:56Z |
| RecordId |
string |
ID file indeks. |
c4d7f0a4-b506-43f9-8de3-07732c3f**** |
| Height |
integer |
Tinggi video. |
480 |
| OssBucket |
string |
Nama bucket OSS. |
liveBucket**** |
| DomainName |
string |
Domain streaming. |
example.com |
| OssObject |
string |
Nama file rekaman yang disimpan di OSS. |
liveObject****.m3u8 |
| EndTime |
string |
Waktu akhir rekaman. Waktu dalam UTC dan dalam format yyyy-MM-ddTHH:mm:ssZ. |
2015-12-01T07:40:00Z |
| AppName |
string |
Nama aplikasi. |
liveApp**** |
| StartTime |
string |
Waktu mulai rekaman. Waktu dalam UTC dan dalam format yyyy-MM-ddTHH:mm:ssZ. |
2015-12-01T07:36:00Z |
| Width |
integer |
Lebar video. |
640 |
| Duration |
number |
Panjang rekaman dalam detik. |
20 |
| OssEndpoint |
string |
Endpoint bucket OSS. |
cn-oss-****.aliyuncs.com |
Contoh
Respons sukses
JSONformat
{
"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"
}
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 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. | |
| 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. | |
| 400 | NoRecordContent | The record content between StartTime and EndTime is empty. | |
| 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. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.