全部产品
Search
文档中心

ApsaraVideo Live:CreateLiveStreamRecordIndexFiles

更新时间:Dec 17, 2025

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.

Catatan
  • 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

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

live:CreateLiveStreamRecordIndexFiles

create

*Domain

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

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.