All Products
Search
Document Center

ApsaraVideo Live:AddLiveAppRecordConfig

Last Updated:Jul 14, 2026

Mengonfigurasi rekaman untuk aplikasi dan menyimpan output ke Object Storage Service (OSS).

Deskripsi operasi

  • Sebelum menggunakan operasi ini, pastikan Anda memahami sepenuhnya metode penagihan dan harga untuk rekaman siaran langsung. Untuk detail penagihan, lihat Biaya rekaman siaran langsung.

  • Jika Anda menggunakan metode penyimpanan rekaman di OSS untuk mengonfigurasi rekaman siaran langsung, aktifkan OSS dan buat bucket. Untuk informasi lebih lanjut, lihat Konfigurasi OSS.

  • Rekaman yang disimpan di OSS dikenakan biaya penyimpanan. Untuk detail penagihan di OSS, lihat Biaya penyimpanan.

  • Bucket OSS harus berada di wilayah yang sama dengan Pusat Siaran Langsung dari domain streaming. Rekaman lintas wilayah tidak didukung.

  • Fitur rekaman siaran langsung merekam konten siaran langsung dan menyimpannya ke lokasi tertentu untuk pemutaran sesuai permintaan. Rekaman yang disimpan di OSS mendukung berbagai format kontainer (TS, MP4, FLV, dan CMAF) serta kebijakan rekaman kustom (rekaman otomatis, rekaman sesuai permintaan, dan rekaman manual). Panggil operasi ini untuk mengonfigurasi template rekaman. Untuk informasi lebih lanjut tentang rekaman siaran langsung, lihat Rekaman siaran langsung.

  • Tripel (DomainName, AppName, StreamName) hanya dapat berkorespondensi dengan satu konfigurasi. Jika konfigurasi sudah ada untuk tripel tersebut, memanggil operasi ini untuk menambahkan konfigurasi lain akan mengembalikan error konfigurasi-sudah-ada.

  • Konfigurasi yang diatur melalui operasi ini hanya berlaku setelah aliran siaran langsung diambil ulang (re-ingest) dan tetap efektif secara permanen.

Batas QPS

Batas QPS per pengguna tunggal untuk operasi ini adalah 30 panggilan per detik. Jika batas ini terlampaui, panggilan API akan dibatasi (throttled), yang dapat memengaruhi bisnis Anda. Panggil operasi ini dengan 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 dari Streamer.

example.com

AppName

string

Yes

Nama aplikasi tempat aliran berada. Template hanya berlaku jika nilai AppName cocok dengan AppName di URL ingest. Untuk mencocokkan semua nama aplikasi, setel parameter ini menjadi asterisk (*).

liveApp****

OssEndpoint

string

Yes

Titik akhir bucket OSS.

Untuk menyimpan rekaman siaran langsung di OSS, buat bucket OSS terlebih dahulu. Untuk informasi lebih lanjut, lihat Konfigurasi OSS.

oss-cn-beijing.aliyuncs.com

OssBucket

string

Yes

Nama bucket OSS.

Untuk menyimpan rekaman siaran langsung di OSS, buat bucket OSS terlebih dahulu. Untuk informasi lebih lanjut, lihat Konfigurasi OSS.

liveBucket****

StreamName

string

No

StreamName. Template hanya berlaku jika nilai StreamName cocok dengan StreamName di URL ingest. Untuk mencocokkan semua nama aliran di bawah AppName yang ditentukan, setel parameter ini menjadi asterisk (*).

teststream

StartTime

string

No

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

Catatan

Waktu yang ditentukan harus berada dalam 7 hari dari waktu mulai pengambilan aliran aktual. Parameter ini hanya valid untuk rekaman tingkat aliran (ketika StreamName tidak kosong).

2018-04-10T09:57:21Z

EndTime

string

No

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

Catatan

Selisih antara EndTime dan StartTime tidak boleh melebihi 7 hari. Jika melebihi 7 hari, nilai dihitung sebagai 7 hari. Parameter ini hanya valid untuk rekaman tingkat aliran (ketika StreamName tidak kosong).

2018-04-16T09:57:21Z

OnDemand

integer

No

Mode rekaman sesuai permintaan atau manual. Nilai valid:

  • 0 (default): dinonaktifkan. Rekaman otomatis digunakan.

  • 1: rekaman sesuai permintaan melalui callback HTTP. Anda harus terlebih dahulu mengonfigurasi OnDemandUrl dengan memanggil operasi AddLiveRecordNotifyConfig. Jika tidak, rekaman tidak dilakukan secara default.

  • 2: rekaman sesuai permintaan dengan penguraian parameter pengambilan aliran.

  • 7: rekaman manual. Rekaman tidak dilakukan secara default. Anda dapat memanggil operasi RealTimeRecordCommand untuk memulai atau menghentikan rekaman secara manual.

1

DelayTime

integer

No

Durasi penggabungan diskontinuitas aliran. Jika siaran langsung terputus lebih lama dari durasi penggabungan yang ditentukan, file baru akan dibuat. Nilai valid: 15 hingga 21600. Unit: detik.

180

RecordFormat

array<object>

No

Detail rekaman.

object

No

SliceDuration

integer

No

Panjang segmen dari satu segmen. Unit: detik.

Penting Parameter ini hanya berlaku jika RecordFormat.N.Format disetel ke m3u8 atau cmaf.

Jika parameter ini tidak ditentukan, nilai defaultnya adalah 30 detik. Nilai valid: 5 hingga 30.

30

SliceOssObjectPrefix

string

No

Nama segmen.

Penting Parameter ini hanya diperlukan jika RecordFormat.N.Format disetel ke m3u8 atau cmaf.
  • Panjang segmen default adalah 30 detik. Nilai harus kurang dari 256 byte dan mendukung pencocokan variabel, termasuk {AppName}, {StreamName}, {UnixTimestamp}, dan {Sequence}.

  • Nilai harus berisi variabel {UnixTimestamp} dan {Sequence}.

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

CycleDuration

integer

No

Panjang rekaman per epoch. Unit: detik.

Catatan
  • Jika parameter ini tidak ditentukan, nilai default bervariasi berdasarkan format rekaman: 6 jam untuk format m3u8 dan cmaf, dan 1 jam untuk format flv dan mp4.

  • Jika siaran langsung terputus dalam satu epoch rekaman tetapi melanjutkan pengambilan aliran dalam durasi penggabungan diskontinuitas aliran, rekaman berlanjut dalam file yang sama. Ini adalah perilaku Normal.

  • File rekaman hanya dibuat setelah siaran langsung terputus lebih lama dari durasi penggabungan diskontinuitas aliran.

1

OssObjectPrefix

string

No

Nama file rekaman 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 harus berisi {StartTime} atau {EscapedStartTime} dan {EndTime} atau {EscapedEndTime}.

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

Format

string

No

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

Penting Setidaknya salah satu dari RecordFormat dan TranscodeRecordFormat harus disetel. Jika Anda memilih m3u8 atau cmaf, Anda juga harus menyetel parameter permintaan RecordFormat.N.SliceOssObjectPrefix dan RecordFormat.N.SliceDuration.
  • m3u8.

  • flv.

  • mp4.

  • cmaf.

Catatan

Pengaturan untuk RecordFormat dan TranscodeRecordFormat: setidaknya satu harus ditentukan.

m3u8

TranscodeRecordFormat

array<object>

No

Detail rekaman aliran yang telah dikodekan ulang.

object

No

SliceDuration

integer

No

Panjang segmen dari satu segmen untuk rekaman aliran transkoding. Unit: detik.

Penting Parameter ini hanya berlaku jika TranscodeRecordFormat.N.Format (format rekaman aliran transkoding) disetel ke m3u8 atau cmaf.

Jika parameter ini tidak ditentukan, nilai defaultnya adalah 30 detik. Nilai valid: 5 hingga 30.

30

SliceOssObjectPrefix

string

No

Nama segmen untuk rekaman aliran yang telah dikodekan ulang.

Penting Parameter ini hanya diperlukan jika TranscodeRecordFormat.N.Format disetel ke m3u8 atau cmaf.
  • Panjang segmen default adalah 30 detik. Nilai harus kurang dari 256 byte dan mendukung pencocokan variabel, termasuk {AppName}, {StreamName}, {UnixTimestamp}, dan {Sequence}.

  • Nilai harus berisi variabel {UnixTimestamp} dan {Sequence}.

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

CycleDuration

integer

No

Panjang rekaman per epoch untuk rekaman aliran transkoding. Unit: detik.

Catatan

Jika parameter ini tidak ditentukan, nilai default bervariasi berdasarkan format rekaman: 6 jam untuk format m3u8 dan cmaf, dan 1 jam untuk format flv dan mp4.

21600

OssObjectPrefix

string

No

Nama file rekaman aliran yang telah dikodekan ulang 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 harus berisi {StartTime} atau {EscapedStartTime} dan {EndTime} atau {EscapedEndTime}.

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

Format

string

No

Format rekaman aliran transkoding. M3U8, FLV, MP4, dan CMAF didukung. Nilai valid:

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

  • m3u8.

  • flv.

  • mp4.

  • cmaf.

Catatan

Pengaturan: jika Anda memilih format m3u8 atau cmaf, parameter slice yang sesuai juga harus dikonfigurasi.

m3u8

TranscodeTemplates

array

No

Grup template transkoding untuk rekaman aliran yang telah dikodekan ulang.

sd

string

No

  • Template transkoding untuk rekaman aliran yang telah dikodekan ulang. Anda dapat menentukan hingga 10 template.

  • Ketika TranscodeRecordFormat.N.xxx dikonfigurasi, setidaknya satu nilai TranscodeTemplates harus ditentukan.

  • Untuk merekam beberapa atau semua aliran yang telah dikodekan ulang, setel TranscodeTemplates.1 ke *****.

Catatan

TranscodeTemplates tidak mengizinkan nilai raw, yang merupakan pengenal yang dipesan.
RepeatList direpresentasikan oleh N dalam TranscodeTemplates.N, yang dapat dipahami sebagai pengaturan inkremental untuk beberapa nilai, seperti TranscodeTemplates.1=sd dan 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. Parameter OSSBucket tidak valid. Pastikan parameter OSS BUCKET benar.
400 InvalidOssBucket.NotFound The parameter OssBucket does not exist.
400 InvalidFormat.Malformed Specified parameter Format is not valid. Parameter Format tidak valid. Verifikasi bahwa parameter Format benar.
400 InvalidCycleDuration.Malformed Specified CycleDuration Format is not valid. Format parameter CycleDuration tidak valid. Verifikasi bahwa format parameter CycleDuration benar.
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. Setelan parameter template transkoding tidak ada.
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. Parameter SliceOssObjectPrefix tidak valid. Pastikan parameter SliceOssObjectPrefix benar.
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.