全部产品
Search
文档中心

ApsaraVideo Live:AddLiveAppRecordConfig

更新时间:Dec 13, 2025

Konfigurasikan perekaman aplikasi untuk menyimpan konten output ke OSS.

Deskripsi operasi

  • Sebelum menggunakan operasi ini, pastikan Anda memahami metode penagihan dan harga perekaman live. Untuk detail penagihan, lihat Biaya perekaman live.

  • Jika Anda mengonfigurasi perekaman live untuk menyimpan rekaman di OSS, Anda perlu mengaktifkan OSS dan membuat bucket. Untuk informasi selengkapnya, lihat Konfigurasi OSS.

  • File rekaman yang disimpan di OSS dikenai biaya penyimpanan. Untuk detail penagihan OSS, lihat Biaya penyimpanan.

  • Fitur perekaman live memungkinkan Anda merekam konten siaran langsung dan menyimpannya ke lokasi tertentu untuk pemutaran ulang nanti. Rekaman yang disimpan di OSS mendukung berbagai format (TS, MP4, FLV, CMAF) serta kebijakan perekaman kustom (perekaman otomatis, perekaman on-demand, dan perekaman manual). Anda dapat memanggil operasi ini untuk mengonfigurasi template perekaman. Untuk informasi selengkapnya tentang perekaman live, lihat dokumentasi Perekaman live.

  • Satu tripel (DomainName, AppName, StreamName) hanya dapat dikaitkan dengan satu konfigurasi. Jika konfigurasi untuk tripel tersebut sudah ada, pemanggilan operasi ini untuk menambahkan konfigurasi lain akan mengembalikan error yang menunjukkan bahwa konfigurasi tersebut sudah ada.

  • Konfigurasi yang ditetapkan melalui operasi ini hanya berlaku setelah aliran live di-restart dan tetap efektif dalam jangka panjang.

Batas QPS

Batas QPS untuk operasi ini adalah 30 permintaan per detik per pengguna. Jika batas terlampaui, panggilan API akan mengalami throttle, yang dapat memengaruhi bisnis Anda. Harap panggil operasi ini 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:AddLiveAppRecordConfig

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 tempat aliran tersebut berada. Template hanya berlaku jika AppName cocok dengan AppName pada URL ingest. Jika Anda tidak ingin membatasi AppName, Anda dapat memasukkan *, yang cocok dengan semua AppName.

liveApp****

OssEndpoint

string

Yes

Nama titik akhir penyimpanan OSS.

Untuk menyimpan file perekaman live di OSS, Anda harus membuat bucket OSS terlebih dahulu. Untuk informasi cara membuat bucket, lihat Konfigurasi OSS.

oss-cn-beijing.aliyuncs.com

OssBucket

string

Yes

Nama bucket penyimpanan OSS.

Untuk menyimpan file perekaman live di OSS, Anda harus membuat bucket OSS terlebih dahulu. Untuk informasi cara membuat bucket, lihat Konfigurasi OSS.

liveBucket****

StreamName

string

No

Nama aliran. Template hanya berlaku jika StreamName cocok dengan StreamName pada URL ingest. Jika Anda tidak ingin membatasi StreamName, Anda dapat memasukkan *, yang cocok dengan semua StreamName di bawah AppName tersebut.

teststream

StartTime

string

No

Waktu mulai perekaman. Format: yyyy-MM-ddTHH:mm:ssZ (waktu UTC).

Catatan

Waktu yang ditentukan harus dalam rentang 7 hari sejak waktu mulai aliran aktual. Parameter ini hanya berlaku untuk perekaman tingkat aliran (ketika StreamName tidak kosong).

2018-04-10T09:57:21Z

EndTime

string

No

Waktu akhir perekaman. Format: yyyy-MM-ddTHH:mm:ssZ (waktu UTC).

Catatan

Selisih antara EndTime dan StartTime tidak boleh melebihi 7 hari. Jika melebihi 7 hari, sistem akan menghitung berdasarkan durasi 7 hari. Parameter ini hanya berlaku untuk perekaman tingkat aliran (ketika StreamName tidak kosong).

2018-04-16T09:57:21Z

OnDemand

integer

No

Perekaman on-demand/manual. Nilai yang valid:

  • 0 (default): Dinonaktifkan, artinya perekaman otomatis.

  • 1: Perekaman on-demand melalui callback HTTP. Anda perlu mengonfigurasi OnDemandUrl terlebih dahulu melalui operasi AddLiveRecordNotifyConfig, jika tidak, perekaman dinonaktifkan secara default.

  • 2: Perekaman on-demand dengan menguraikan parameter aliran.

  • 7: Perekaman manual, dinonaktifkan secara default. Anda dapat mengontrol mulai atau berhenti perekaman secara manual melalui operasi RealTimeRecordCommand.

1

DelayTime

integer

No

Durasi penggabungan saat aliran terputus. Ketika aliran live terputus lebih lama dari durasi penggabungan yang ditentukan, file baru akan dibuat. Durasi penggabungan saat aliran terputus mendukung rentang 15 hingga 21600 detik.

180

RecordFormat

array<object>

No

Detail perekaman.

object

No

SliceDuration

integer

No

Durasi satu segmen. Satuan: detik.

Penting

Parameter ini hanya berlaku ketika RecordFormat.N.Format diatur ke m3u8 atau cmaf.

Jika tidak ditentukan, nilai default adalah 30 detik. Nilai yang valid: 5–30 detik.

30

SliceOssObjectPrefix

string

No

Nama segmen.

Penting

Parameter ini hanya perlu dikonfigurasi ketika RecordFormat.N.Format diatur ke m3u8 atau cmaf.

  • Secara default, setiap segmen memiliki durasi 30 detik dan ukuran kurang dari 256 byte. Parameter ini mendukung pencocokan variabel, termasuk {AppName}, {StreamName}, {UnixTimestamp}, dan {Sequence}.

  • Nilai parameter harus mencakup variabel {UnixTimestamp} dan {Sequence}.

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

CycleDuration

integer

No

Durasi siklus perekaman. Satuan: detik.

Catatan
  • Jika tidak ditentukan, nilai default digunakan. Format perekaman yang berbeda memiliki nilai default yang berbeda: format m3u8 dan cmaf default ke 6 jam, sedangkan format flv dan mp4 default ke 1 jam.

  • Jika aliran live terputus selama siklus perekaman tetapi kembali normal dalam durasi penggabungan saat aliran terputus, perekaman akan dilanjutkan dalam file perekaman yang sama.

  • File perekaman hanya dibuat jika aliran live terputus lebih lama dari durasi penggabungan saat aliran terputus.

1

OssObjectPrefix

string

No

Nama file perekaman yang disimpan di OSS.

  • Nama file harus kurang dari 256 byte dan mendukung pencocokan variabel, termasuk {AppName}, {StreamName}, {Sequence}, {StartTime}, {EndTime}, {EscapedStartTime}, dan {EscapedEndTime}.

  • Nilai parameter harus mencakup {StartTime} atau {EscapedStartTime} dan {EndTime} atau {EscapedEndTime}.

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

Format

string

No

Format. Saat ini, M3U8, FLV, MP4, dan CMAF didukung. Nilai yang valid:

Penting

Setidaknya salah satu dari RecordFormat dan TranscodeRecordFormat harus diatur. Jika Anda memilih format m3u8 atau cmaf, Anda juga harus mengatur parameter permintaan RecordFormat.N.SliceOssObjectPrefix dan RecordFormat.N.SliceDuration.

  • m3u8.

  • flv.

  • mp4.

  • cmaf.

m3u8

TranscodeRecordFormat

array<object>

No

Detail perekaman transkoding.

object

No

SliceDuration

integer

No

Durasi satu segmen untuk perekaman aliran yang telah dikodekan ulang. Satuan: detik.

Penting

Parameter ini hanya berlaku ketika TranscodeRecordFormat.N.Format diatur ke m3u8 atau cmaf.

Jika tidak ditentukan, nilai default adalah 30 detik. Nilai yang valid: 5–30 detik.

30

SliceOssObjectPrefix

string

No

Nama segmen untuk perekaman aliran yang telah dikodekan ulang.

Penting

Parameter ini hanya perlu dikonfigurasi ketika TranscodeRecordFormat.N.Format diatur ke m3u8 atau cmaf.

  • Secara default, setiap segmen memiliki durasi 30 detik dan ukuran kurang dari 256 byte. Parameter ini mendukung pencocokan variabel, termasuk {AppName}, {StreamName}, {UnixTimestamp}, dan {Sequence}.

  • Nilai parameter harus mencakup variabel {UnixTimestamp} dan {Sequence}.

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

CycleDuration

integer

No

Durasi siklus perekaman untuk perekaman aliran yang telah dikodekan ulang. Satuan: detik.

Catatan

Jika tidak ditentukan, nilai default digunakan. Format perekaman yang berbeda memiliki nilai default yang berbeda: format m3u8 dan cmaf default ke 6 jam, sedangkan format flv dan mp4 default ke 1 jam.

21600

OssObjectPrefix

string

No

Nama file perekaman yang disimpan di OSS untuk perekaman aliran yang telah dikodekan ulang.

  • Nama file harus kurang dari 256 byte dan mendukung pencocokan variabel, termasuk {AppName}, {StreamName}, {Sequence}, {StartTime}, {EndTime}, {EscapedStartTime}, dan {EscapedEndTime}.

  • Nilai parameter harus mencakup {StartTime} atau {EscapedStartTime} dan {EndTime} atau {EscapedEndTime}.

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

Format

string

No

Format untuk perekaman aliran yang telah dikodekan ulang. Saat ini, M3U8, FLV, MP4, dan CMAF didukung. Nilai yang valid:

Penting

Jika Anda memilih format m3u8 atau cmaf, Anda juga harus mengatur parameter permintaan TranscodeRecordFormat.N.SliceOssObjectPrefix dan TranscodeRecordFormat.N.SliceDuration.

  • m3u8.

  • flv.

  • mp4.

  • cmaf.

m3u8

TranscodeTemplates

array

No

Kelompok template transkoding untuk perekaman aliran yang telah dikodekan ulang.

sd

string

No

  • Template transkoding untuk perekaman aliran yang telah dikodekan ulang. Anda dapat mengonfigurasi multiple template, hingga 10.

  • Saat mengatur konfigurasi TranscodeRecordFormat.N.xxx, Anda perlu mengatur setidaknya satu TranscodeTemplates.

  • Untuk merekam multiple atau semua aliran yang telah dikodekan ulang, Anda dapat mengatur TranscodeTemplates.1 ke ***** (lima tanda bintang).

Catatan

TranscodeTemplates tidak boleh menerima input raw, karena merupakan pengenal yang dicadangkan.
RepeatList mengacu pada N dalam TranscodeTemplates.N, yang dapat dipahami sebagai penambahan angka untuk multiple pengaturan, seperti: TranscodeTemplates.1=sd, TranscodeTemplates.2=hd.

sd

Elemen respons

Element

Type

Description

Example

object

RequestId

string

ID permintaan.

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

Contoh

Respons sukses

JSONformat

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

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 InvalidOssEndpoint.Malformed %s
400 InvalidOssBucket.Malformed Specified parameter OssBucket is not valid.
400 InvalidOssBucket.NotFound The parameter OssBucket does not exist.
400 InvalidFormat.Malformed Specified parameter Format is not valid. Invalid value of Format. Check whether the Format parameter that you specified is correct.
400 InvalidCycleDuration.Malformed Specified CycleDuration Format is not valid. Invalid format of CycleDuration. Check whether the format of the CycleDuration parameter is correct.
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.
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.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.