全部产品
Search
文档中心

ApsaraVideo Live:AddLiveAppRecordConfig

更新时间:Jan 08, 2026

Konfigurasikan pengaturan perekaman live dan simpan output ke Object Storage Service (OSS).

Deskripsi operasi

  • Sebelum menggunakan API ini, pastikan Anda memahami metode penagihan dan harga perekaman live. Untuk detailnya, lihat Penagihan perekaman live.

  • Untuk menyimpan rekaman ke OSS, Anda harus terlebih dahulu mengaktifkan layanan OSS dan membuat bucket. Petunjuk selengkapnya tersedia di Rekam dan simpan di OSS.

  • Penyimpanan file rekaman di OSS dikenai biaya penyimpanan yang ditagih secara terpisah. Untuk informasi selengkapnya, lihat Biaya penyimpanan.

  • Fitur perekaman live memungkinkan Anda merekam aliran live dan menyimpannya ke lokasi tertentu untuk diputar ulang nanti. Saat menyimpan ke OSS, beberapa format (TS, MP4, FLV, CMAF) dan strategi perekaman (otomatis, on-demand, manual) didukung. Gunakan API ini untuk mengonfigurasi templat perekaman. Informasi lebih lanjut tersedia di Perekaman live.

  • Konfigurasi perekaman diidentifikasi secara unik oleh triplet (DomainNameAppNameStreamName). Pemanggilan API ini untuk triplet yang sudah memiliki konfigurasi akan menghasilkan error yang menunjukkan bahwa konfigurasi tersebut sudah ada.

  • Konfigurasi yang ditetapkan melalui API ini hanya berlaku setelah aliran diingest ulang. Setelah aktif, konfigurasi tersebut berlaku tanpa batas waktu.

Batas QPS

Anda dapat memanggil operasi ini hingga 30 kali per detik per akun. Permintaan yang melebihi batas ini akan dibuang dan dapat menyebabkan gangguan layanan.

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

AppName dari aliran live. Templat hanya berlaku jika nama ini sesuai dengan AppName di URL ingest. Gunakan tanda bintang (*) untuk mencocokkan semua AppName.

liveApp****

OssEndpoint

string

Yes

Titik akhir untuk penyimpanan OSS. Anda harus membuat bucket OSS sebelum menggunakan fitur ini. Lihat Konfigurasi OSS.

oss-cn-beijing.aliyuncs.com

OssBucket

string

Yes

Nama bucket OSS untuk penyimpanan.

liveBucket****

StreamName

string

No

Nama aliran. Templat hanya berlaku jika nama ini sesuai dengan StreamName di URL ingest. Gunakan tanda bintang (*) untuk mencocokkan semua aliran di bawah AppName tersebut.

teststream

StartTime

string

No

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

Catatan

Parameter ini hanya berlaku untuk perekaman tingkat aliran (yaitu, ketika StreamName ditentukan). Waktu tersebut harus dalam rentang 7 hari dari waktu mulai aliran aktual.

2018-04-10T09:57:21Z

EndTime

string

No

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

Catatan

Parameter ini hanya berlaku untuk perekaman tingkat aliran. Interval antara EndTime dan StartTime tidak boleh melebihi 7 hari.

2018-04-16T09:57:21Z

OnDemand

integer

No

Menentukan mode perekaman. Nilai yang valid:

  • 0 (default): Perekaman otomatis.

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

  • 2: Perekaman on-demand dengan menguraikan parameter di URL ingest.

  • 7: Perekaman manual, dinonaktifkan secara default. Anda dapat memulai atau menghentikan perekaman secara manual melalui API RealTimeRecordCommand.

1

DelayTime

integer

No

Jendela dalam satuan detik untuk menggabungkan rekaman terfragmentasi setelah gangguan. Jika aliran terputus dan tersambung kembali dalam jendela ini, perekaman akan dilanjutkan dalam file yang sama. Nilai yang valid: 15 hingga 21600.

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 hingga 30 detik.

30

SliceOssObjectPrefix

string

No

Pola penamaan untuk segmen.

Penting

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

  • Secara default, setiap segmen berdurasi 30 detik dan ukuran nama file kurang dari 256 byte. Mendukung variabel: {AppName}, {StreamName}, {UnixTimestamp}, {Sequence}.

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

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

CycleDuration

integer

No

Durasi satu siklus perekaman dalam 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 jendela penggabungan, perekaman akan dilanjutkan dalam file yang sama.

  • File rekaman hanya dihasilkan jika aliran live terputus lebih lama dari jendela penggabungan.

1

OssObjectPrefix

string

No

Pola penamaan untuk file rekaman yang disimpan di OSS.

  • Nama file harus kurang dari 256 byte. Mendukung variabel: {AppName}, {StreamName}, {Sequence}, {StartTime}, {EndTime}, {EscapedStartTime}, {EscapedEndTime}.

  • Nilai harus mencakup salah satu dari {StartTime} atau {EscapedStartTime} dan salah satu dari {EndTime} atau {EscapedEndTime}.

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

Format

string

No

Format perekaman. Nilai yang valid:

Penting

Jika Anda memilih m3u8 atau cmaf, Anda juga harus mengatur SliceOssObjectPrefix dan 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 hingga 30 detik.

30

SliceOssObjectPrefix

string

No

Pola penamaan untuk segmen aliran yang telah dikodekan ulang.

Penting

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

  • Secara default, setiap segmen berdurasi 30 detik. Nama file harus kurang dari 256 byte. Mendukung variabel: {AppName}, {StreamName}, {UnixTimestamp}, {Sequence}.

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

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

CycleDuration

integer

No

Durasi satu siklus perekaman dalam 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

Pola penamaan file rekaman yang disimpan di OSS untuk aliran yang telah dikodekan ulang.

  • Nama file harus kurang dari 256 byte. Mendukung variabel: {AppName}, {StreamName}, {Sequence}, {StartTime}, {EndTime}, {EscapedStartTime}, {EscapedEndTime}.

  • Nilai harus mencakup salah satu dari {StartTime} atau {EscapedStartTime} dan salah satu dari {EndTime} atau {EscapedEndTime}.

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

Format

string

No

Format untuk perekaman aliran yang telah dikodekan ulang. 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.

sd

string

No

  • Template transkoding. Anda dapat mengonfigurasi beberapa template, hingga 10.

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

  • Untuk merekam beberapa 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.
Angka .N pada TranscodeTemplates.N merepresentasikan indeks inkremental untuk menentukan beberapa template. Contoh: 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.
400 InvalidCycleDuration.Malformed Specified CycleDuration Format is not valid.
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.