Perekaman siaran langsung menangkap aliran yang diingest dan menyimpannya ke lokasi penyimpanan yang ditentukan untuk pemutaran ulang setelah siaran selesai. ApsaraVideo Live menyediakan dua opsi penyimpanan: simpan di ApsaraVideo VOD dan simpan di OSS.
Ikhtisar fitur
Cara kerja
Saat perekaman siaran langsung berlangsung, sistem memproses aliran langsung yang diingest dengan membaginya menjadi file Transport Stream (TS) dan mengemasnya ke dalam format target, seperti FLV, MP4, atau M3U8. File akhir disimpan ke ruang penyimpanan yang Anda tentukan.
Perekaman siaran langsung hanya mengubah format kontainer audio dan video. Konten pada lapisan encoding tidak diubah. Jika aliran sumber memiliki masalah seperti artefak video atau ketidaksinkronan audio-video, file rekaman akan tetap mempertahankan kekurangan tersebut.
Format encoding audio dan video
Karena perekaman siaran langsung pertama-tama membagi aliran langsung menjadi file TS, format encoding aliran tersebut harus kompatibel dengan kontainer TS. ApsaraVideo Live hanya mendukung format encoding berikut:
Kodek video: H.264 (AVC), H.265 (HEVC), MPEG-4
Kodek audio: AAC, MP3
Jika siaran langsung berisi audio atau video yang dikodekan dalam format lain, Anda mungkin mengalami masalah seperti kegagalan perekaman, layar hitam pada rekaman, atau tidak ada audio.
Perbandingan metode penyimpanan
Perekaman siaran langsung menyediakan dua opsi penyimpanan: ApsaraVideo VOD dan OSS. Anda tidak dapat mengonfigurasi kedua opsi penyimpanan untuk siaran langsung yang sama. Pilih salah satu sesuai kebutuhan bisnis Anda.
Item | Simpan di ApsaraVideo VOD | Simpan di OSS |
Produk terkait | ApsaraVideo VOD | OSS |
Format penyimpanan |
|
|
Post-processing perekaman | Mendukung fitur pemrosesan media seperti penggabungan otomatis dan transkoding untuk video yang direkam. | Memerlukan pemrosesan manual. |
Kasus penggunaan | Ideal untuk tugas pascaproduksi pada konten yang direkam, seperti pemotongan, transkoding, dan komposisi. | Ideal untuk penyimpanan jangka panjang dan manajemen konten yang direkam. |
Metode pemicu perekaman
Perekaman siaran langsung dapat dipicu dengan empat cara: perekaman otomatis, perekaman on-demand, menggunakan parameter ingest, atau perekaman manual.
Perekaman otomatis
ApsaraVideo Live menggunakan template perekaman untuk mengelola konfigurasi perekaman. Sistem mencocokkan template perekaman otomatis berdasarkan DomainName, AppName, dan StreamName dalam URL ingest Anda.
Logika pencocokan
Pencocokan eksak: Dalam template perekaman, tentukan
AppNamedanStreamNametertentu. Ini menerapkan template hanya untuk siaran langsung spesifik tersebut.Pencocokan wildcard: Dalam template perekaman, atur
AppNameke*untuk menerapkan template ke semua aplikasi di bawah domain tersebut. AturStreamNameke*untuk menerapkan template ke semua siaran langsung dalam aplikasi tersebut.
Konfirmasi callback
Gunakan perekaman on-demand untuk secara dinamis menentukan apakah akan merekam siaran langsung berdasarkan aturan bisnis Anda.
Alur kerja:
Saat siaran langsung dimulai, jika template perekaman yang cocok diatur ke "Perekaman on-demand", layanan siaran langsung mengirim permintaan HTTP ke URL callback on-demand yang telah Anda konfigurasi sebelumnya untuk menentukan apakah akan merekam aliran tersebut.
Aplikasi Anda menerima permintaan tersebut dan mengembalikan perintah perekaman (izinkan atau tolak) berdasarkan logika bisnis saat ini.
Layanan siaran langsung memulai tugas perekaman berdasarkan respons Anda.
Anda harus terlebih dahulu menentukan URL callback on-demand untuk perekaman siaran langsung dalam pengaturan callback event. Untuk detail konfigurasi, parameter permintaan, dan format respons, lihat Callback perekaman siaran langsung dan Callback perekaman on-demand.
Catatan:
Layanan perekaman memproses respons callback Anda untuk mengganti konfigurasi template:
Interval: Nilai Interval yang Anda berikan akan mengganti siklus perekaman yang dikonfigurasi dalam template perekaman.Format: Layanan menghitung irisan antara Format yang Anda minta dan format yang telah dikonfigurasi dalam template perekaman. Jika tidak ada format yang sama, aliran tersebut tidak akan direkam.
Pemicu parameter ingest
Saat metode pemicu diatur ke "Pengaturan parameter ingest", Anda dapat mengontrol apakah akan mengaktifkan perekaman untuk aliran saat ini dengan menggunakan parameter record_config dalam URL ingest.
Format parameter:
record_config={"NeedRecord": <true/false>}Deskripsi parameter:
true: Mengaktifkan perekaman.false: Menonaktifkan perekaman.Catatan: Parameter harus di-URL-encoded saat membuat URL.
Asumsikan bahwa URL ingest aliran adalah: rtmp://push.example.com/live/stream1
Jika Anda perlu mengaktifkan perekaman menggunakan parameter, Anda dapat membuat URL sebagai berikut: rtmp://push.example.com/live/stream1?record_config=%7B%22NeedRecord%22%3Atrue%7D&auth_key=xxx
Perekaman manual
Untuk kontrol penuh atas proses perekaman berdasarkan logika bisnis Anda, gunakan perekaman manual.
Pada titik ini, Anda dapat memanggil API RealTimeRecordCommand untuk secara manual memulai perekaman siaran langsung tertentu.
API ini juga mendukung penghentian perekaman. Anda dapat memanggil antarmuka ini untuk secara paksa menghentikan tugas perekaman saat ini, terlepas dari apakah perekaman tersebut dimulai secara otomatis, on-demand, atau manual.
Lihat dokumentasi API RealTimeRecordCommand, dan gunakan parameter command untuk melakukan operasi start atau stop.
Simpan rekaman di ApsaraVideo VOD
Prasyarat
Aktifkan layanan ApsaraVideo VOD dan konfigurasikan bucket penyimpanan. Bucket tersebut harus berada di wilayah yang sama dengan pusat siaran langsung domain yang ingin Anda konfigurasi.
Konfigurasi
ApsaraVideo Live menggunakan template perekaman untuk mengelola konfigurasi perekaman. Anda dapat membuat template perekaman untuk menyimpan rekaman di ApsaraVideo VOD menggunakan konsol atau API.
Perekaman harus dikonfigurasi sebelum siaran langsung dimulai. Jika tidak, sistem tidak akan menyimpan data aliran. Pastikan untuk menyelesaikan konfigurasi perekaman sebelum siaran dimulai.
Metode 1: Konsol
Masuk ke Konsol ApsaraVideo Live.
Di bilah navigasi kiri, pilih Feature Management > Recording. Di tab Recording Configuration, pilih VOD.
Pilih domain streaming yang akan dikonfigurasi, lalu klik Add.
Konfigurasikan template perekaman.
Pengaturan perekaman dasar
Parameter
Deskripsi
Application Name
Nama aplikasi harus sama dengan AppName dalam URL ingest aliran agar berlaku. Untuk menerapkan ke semua aplikasi di bawah domain, masukkan
*.Stream Name
Nama stream. Mendukung pencocokan eksak untuk merekam stream tertentu. Untuk merekam semua siaran langsung di bawah AppName saat ini, masukkan
*.VOD Application
Ruang kerja tempat file yang direkam disimpan, dibuat dalam layanan ApsaraVideo VOD. Bidang ini tidak ditampilkan jika ruang kerja tidak diaktifkan.
Bucket
Anda dapat memilih lokasi penyimpanan yang dibuat dalam layanan ApsaraVideo VOD di wilayah saat ini. Secara default, sistem menggunakan alamat unggah default yang dikonfigurasi di ApsaraVideo VOD.
Recording Source
Anda dapat merekam Raw Stream atau Transcoded Streams. Keduanya dapat dipilih secara bersamaan.
Saat Anda memilih Transcoded Streams, Anda dapat menentukan hingga 10 template transkoding atau memilih semua template transkoding.
Perekaman aliran yang telah dikodekan ulang hanya berlaku jika AppName template transkoding adalah
*atau sama dengan AppName template perekaman.Trigger Mode
Perekaman dapat dipicu dengan cara berikut: Automatic, Callback Confirmation, Ingest Parameter Trigger, dan Manual.
Untuk informasi lebih lanjut, lihat Metode pemicu perekaman.
Format
Mendukung format M3U8, FLV, dan MP4. Saat memilih beberapa format, Anda dapat mengonfigurasi pengaturan VOD untuk setiap format secara terpisah.
Recording Cycle
Durasi maksimum file perekaman tunggal. Jika durasi siaran langsung melebihi ambang batas ini, sistem akan menghasilkan file baru. Default: 180 menit. Rentang: 15 hingga 360 menit.
Reconnect Timeout
Jika gangguan siaran langsung lebih pendek dari durasi ini, perekaman dilanjutkan ke file yang sama. Gangguan yang lebih lama menyebabkan file baru dibuat. Default: 180 detik. Rentang: 15 hingga 21.600 detik.
Segment Length
Durasi segmen TS tunggal. Ini hanya ditampilkan saat Anda memilih format M3U8.
Default: 30 detik. Rentang: 5 hingga 30 detik.
Pengaturan VOD
Saat menyimpan rekaman di ApsaraVideo VOD, Anda dapat menggunakan pengaturan ini untuk memproses file yang direkam dengan kemampuan pemrosesan media ApsaraVideo VOD. Jika Anda memilih beberapa format perekaman, Anda dapat mengonfigurasinya secara terpisah.
Parameter
Deskripsi
Auto Merge
Jika diaktifkan, beberapa file dari siklus perekaman berbeda secara otomatis digabung menjadi satu file rekaman dan disimpan di ApsaraVideo VOD setelah siaran langsung berakhir. File rekaman asli tetap disimpan.
Video Processing
Gunakan layanan ApsaraVideo VOD untuk memproses video yang direkam.
Source Video: Setiap file siklus perekaman diproses secara individual.
Merged Video: Memproses file yang digabung (Ditampilkan setelah penggabungan otomatis diaktifkan).
Processing Method
MendukungTranscoding Template Group dan Workflow.
Processing Template
Pilih kelompok template transkoding atau template alur kerja dari layanan ApsaraVideo VOD.
Catatan: Anda hanya dapat memilih template yang dibuat di wilayah yang sama dengan pusat siaran langsung domain.
Category
Tetapkan kategori untuk file yang direkam dalam layanan ApsaraVideo VOD.
Klik OK untuk membuat template perekaman.
Metode 2: API
Panggil API AddLiveRecordVodConfig untuk menambahkan konfigurasi penyimpanan rekaman di ApsaraVideo VOD. Contoh kode:
// Pengaturan parameter untuk permintaan API
AddLiveRecordVodConfigRequest.RecordFormat recordFormat0 = AddLiveRecordVodConfigRequest.RecordFormat.builder()
.format("m3u8")
.sliceDuration(30)
.autoCompose("ON")
.videoProcess("origin,compose")
.processMethod("transcode")
.processTemplateId("e2d796d3bb5fd8049d32bff62f94****")
.tags("sports")
.build();
AddLiveRecordVodConfigRequest addLiveRecordVodConfigRequest = AddLiveRecordVodConfigRequest.builder()
.regionId("<Your RegionID>")
.domainName("<Your DomainName>")
.appName("live")
.streamName("stream1")
.cycleDuration(3600)
.spaceId("app-1000000")
.storageLocation("<Your StorageLocation>")
.onDemand(0)
.recordContent("raw,transcode")
.delayTime(180)
.recordFormat(java.util.Arrays.asList(recordFormat0))
.transcodeTemplates(java.util.Arrays.asList("sd"))
// Konfigurasi rewrite tingkat permintaan, dapat mengatur parameter permintaan Http, dll.
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();Parameter utama
OnDemandMetode pemicu perekaman. Nilai yang valid: 0 (perekaman otomatis), 1 (perekaman on-demand), 2 (pengaturan parameter ingest), 7 (perekaman manual). Untuk detail, lihat Metode pemicu perekaman.
DelayTimeDurasi penyambungan untuk aliran yang terputus dalam detik. Jika gangguan siaran langsung lebih pendek dari durasi ini, perekaman dilanjutkan ke file yang sama. Gangguan yang lebih lama menyebabkan file baru dibuat.
RecordContent,TranscodeTemplatesTentukan apakah akan merekam aliran sumber atau aliran yang telah dikodekan ulang. Saat merekam aliran yang telah dikodekan ulang, Anda harus menentukan ID template transkoding.
RecordFormat: Mengatur format penyimpanan dan konfigurasi VOD. Ini mencakup:AutoCompose: Jika diaktifkan, beberapa file dari siklus perekaman berbeda secara otomatis digabung menjadi satu file setelah siaran langsung berakhir.VideoProcess,ProcessMethod,ProcessTemplateId: Gunakan template transkoding atau alur kerja ApsaraVideo VOD untuk memproses file rekaman asli atau video yang telah digabung otomatis.
Untuk deskripsi parameter lengkap, lihat AddLiveRecordVodConfig - Tambahkan konfigurasi untuk menyimpan rekaman siaran langsung di VOD.
Kelola rekaman
Anda dapat melihat rekaman yang disimpan di ApsaraVideo VOD dari konsol ApsaraVideo Live dan mengelolanya menggunakan layanan ApsaraVideo VOD.
Masuk ke Konsol ApsaraVideo Live.
Di bilah navigasi kiri, pilih Feature Management > Recording. Klik tab Recording Management.
Pilih domain streaming yang telah dikonfigurasi.
Klik tab VOD.
Anda dapat memfilter catatan perekaman berdasarkan rentang tanggal,
AppName, danStreamName.Untuk melihat dan mengelola file rekaman tertentu, Anda dapat mengeklik Manage in the VOD Console di kolom Aksi, atau masuk ke konsol ApsaraVideo VOD, lalu pilih Pustaka Media > Audio/Video.
Simpan rekaman di OSS
Prasyarat
Aktifkan layanan OSS dan buat bucket penyimpanan. Bucket OSS harus berada di wilayah yang sama dengan pusat siaran langsung domain yang ingin Anda konfigurasi.
Konfigurasikan izin bagi ApsaraVideo Live untuk menulis ke OSS. Biasanya otorisasi ini diberikan secara otomatis saat Anda mengaktifkan layanan. Jika Anda secara tidak sengaja menghapus izin tersebut, Anda dapat mengklik Otorisasi Akses ke Sumber Daya Cloud untuk memberikannya kembali.
Kami menyarankan Anda menggunakan Akun Alibaba Cloud untuk menyelesaikan otorisasi. Jika Anda menggunakan Pengguna RAM, pengguna tersebut harus memiliki izin berikut: ram:CreateRole, ram:GetRole, ram:ListPoliciesForRole, dan ram:AttachPolicyToRole. Memberikan izin ini kepada Pengguna RAM menimbulkan risiko keamanan dan tidak disarankan.
Konfigurasi
ApsaraVideo Live menggunakan template perekaman untuk mengelola konfigurasi perekaman. Anda dapat membuat template perekaman untuk menyimpan rekaman di OSS menggunakan konsol atau API.
Setelah mengonfigurasi template, Anda harus restart aliran ingest agar perubahan berlaku. Untuk memastikan aliran direkam sejak awal, buat template sebelum aliran dimulai.
Metode 1: Konsol
Masuk ke Konsol ApsaraVideo Live.
Di bilah navigasi kiri, pilih Feature Management > Recording. Di tab Recording Configuration, pilih OSS.
Pilih domain streaming yang akan dikonfigurasi, lalu klik Add.
Konfigurasikan template perekaman. Anda dapat memilih untuk merekam aliran sumber, aliran yang telah dikodekan ulang, atau keduanya.
Pengaturan perekaman dasar
Parameter
Deskripsi
Application Name
Nama aplikasi. Ini harus sesuai dengan AppName dalam URL dorong agar pengaturan berlaku. Jika Anda ingin pengaturan berlaku untuk semua aplikasi di bawah domain, masukkan
*.Stream Name
Nama stream. Anda dapat menentukan nama stream eksak untuk merekam stream tertentu. Untuk merekam semua siaran langsung di bawah AppName saat ini, masukkan
*.Storage Location
Anda dapat memilih bucket yang dibuat di OSS di wilayah saat ini.
CatatanAda dua jenis bucket penyimpanan:
Bucket standar: Digunakan untuk penyimpanan file umum.
Bucket media: Khusus untuk transkoding video. File yang disimpan di jenis bucket ini dapat secara otomatis memicu pekerjaan transkoding ApsaraVideo Media Processing (MPS).
Sistem saat ini tidak memberi label jenis bucket. Jika Anda perlu melakukan transkoding video, harap catat nama bucket media untuk memastikan file yang telah dikodekan ulang disimpan dengan benar.
Interruption Duration Threshold
Jika gangguan siaran langsung lebih pendek dari durasi ini, perekaman dilanjutkan ke file yang sama. Gangguan yang lebih lama menyebabkan file baru dibuat. Default: 180 detik. Rentang: 15 hingga 21.600 detik.
Trigger Mode
Anda dapat memicu perekaman dengan cara berikut: Automatic, Callback Confirmation, Ingest Parameter Trigger, dan Manual.
Untuk informasi lebih lanjut, lihat Metode pemicu perekaman.
Rekam aliran sumber
Parameter
Deskripsi
Storage Format
Mendukung format M3U8, FLV, MP4, dan CMAF. Anda dapat memilih beberapa format, tetapi tidak dapat memilih M3U8 dan CMAF secara bersamaan.
Naming Conventions
Konvensi penamaan untuk file yang direkam. Jalur default:
M3U8, FLV, MP4:
record/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}TS, fMP4:
record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}Segment Length
Durasi segmen TS tunggal. Ini hanya ditampilkan saat Anda memilih format M3U8 atau CMAF.
Default: 30 detik. Rentang: 5 hingga 30 detik.
Recording Cycle
Durasi maksimum file perekaman tunggal. Jika durasi siaran langsung melebihi ambang batas ini, sistem akan menghasilkan file baru. Default: 180 menit. Rentang: 15 hingga 360 menit.
Rekam aliran yang telah dikodekan ulang
Parameter
Deskripsi
Transcoded Streams
Pilih aliran yang telah dikodekan ulang untuk direkam. Anda dapat menentukan hingga 10 template transkoding atau memilih semuanya.
Agar perekaman aliran yang telah dikodekan ulang berfungsi, AppName template transkoding harus
*atau sesuai dengan template perekaman.Storage Format
Mendukung format M3U8, FLV, MP4, dan CMAF. Anda dapat memilih beberapa format, tetapi tidak dapat memilih M3U8 dan CMAF secara bersamaan.
Naming Conventions
Konvensi penamaan untuk file yang direkam. Jalur default:
M3U8, FLV, MP4:
transcodeRecord/{AppName}/{StreamName}_{TranscodingTemplateID}/{EscapedStartTime}_{EscapedEndTime}TS, fMP4:
transcodeRecord/{AppName}/{StreamName}_{TranscodeTemplateID}/{UnixTimestamp}_{Sequence}Segment Length
Durasi segmen TS tunggal. Ini hanya ditampilkan saat Anda memilih format M3U8 atau CMAF.
Default: 30 detik. Rentang: 5 hingga 30 detik.
Recording Cycle
Durasi maksimum file perekaman tunggal. Jika durasi siaran langsung melebihi ambang batas ini, sistem akan menghasilkan file baru. Default: 180 menit. Rentang: 15 hingga 360 menit.
Klik OK untuk membuat template perekaman.
Metode 2: API
Panggil API AddLiveAppRecordConfig untuk menambahkan konfigurasi penyimpanan rekaman di OSS. Contoh kode:
// Pengaturan parameter untuk permintaan API
AddLiveAppRecordConfigRequest.TranscodeRecordFormat transcodeRecordFormat0 = AddLiveAppRecordConfigRequest.TranscodeRecordFormat.builder()
.sliceDuration(30)
.sliceOssObjectPrefix("transcodeRecord/{AppName}/{StreamName}_{TranscodeTemplateID}/{UnixTimestamp}_{Sequence}")
.ossObjectPrefix("transcodeRecord/{AppName}/{StreamName}_{TranscodeTemplateID}/{EscapedStartTime}_{EscapedEndTime}")
.cycleDuration(900)
.format("m3u8")
.build();
AddLiveAppRecordConfigRequest.RecordFormat recordFormat0 = AddLiveAppRecordConfigRequest.RecordFormat.builder()
.sliceDuration(30)
.format("m3u8")
.cycleDuration(900)
.sliceOssObjectPrefix("record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}")
.ossObjectPrefix("record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime}")
.build();
AddLiveAppRecordConfigRequest addLiveAppRecordConfigRequest = AddLiveAppRecordConfigRequest.builder()
.domainName("<Your DomainName>")
.appName("live")
.ossEndpoint("<Your OssEndpoint>")
.ossBucket("<Your OssBucket>")
.streamName("stream1")
.onDemand(0)
.delayTime(180)
.recordFormat(java.util.Arrays.asList(recordFormat0))
.transcodeRecordFormat(java.util.Arrays.asList(transcodeRecordFormat0))
.transcodeTemplates(java.util.Arrays.asList("sd"))
// Penulisan ulang konfigurasi tingkat permintaan, dapat mengatur parameter permintaan Http, dll.
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();Parameter utama
OnDemandMetode pemicu perekaman. Nilai yang valid: 0 (perekaman otomatis), 1 (perekaman on-demand), 2 (pengaturan parameter ingest), 7 (perekaman manual). Untuk detail, lihat Metode pemicu perekaman.
DelayTimeDurasi penyambungan untuk aliran yang terputus dalam detik. Jika gangguan siaran langsung lebih pendek dari durasi ini, perekaman dilanjutkan ke file yang sama. Gangguan yang lebih lama menyebabkan file baru dibuat.
RecordFormatFormat penyimpanan dan parameter perekaman untuk aliran sumber, termasuk
Format(format penyimpanan),OssObjectPrefix(konvensi penamaan),SliceDuration(durasi segmen), danCycleDuration(siklus perekaman).TranscodeTemplates,TranscodeRecordFormatSaat merekam aliran yang telah dikodekan ulang, tentukan daftar ID template transkoding dan format penyimpanan serta parameter perekaman untuk aliran yang telah dikodekan ulang.
Untuk deskripsi parameter lengkap, lihat AddLiveAppRecordConfig - Tambahkan konfigurasi perekaman.
Kelola rekaman
Lihat rekaman
Anda dapat melihat rekaman yang disimpan di OSS dengan tiga cara:
Metode 1: Konsol
Masuk ke Konsol ApsaraVideo Live.
Di bilah navigasi kiri, pilih Feature Management > Recording. Klik tab Recording Management.
Pilih domain streaming yang telah dikonfigurasi.
Klik tab OSS.
Anda dapat memfilter catatan perekaman berdasarkan rentang tanggal,
AppName, danStreamName.
Metode 2: API
ApsaraVideo Live menyediakan API untuk mengkueri semua file indeks perekaman dalam periode waktu tertentu. ApsaraVideo Live hanya menyimpan informasi file indeks selama enam bulan, sehingga membatasi kueri hanya untuk data dalam periode tersebut. Untuk detail pemanggilan API dan konfigurasi parameter, lihat DescribeLiveStreamRecordIndexFiles - Kueri semua file indeks perekaman dalam periode waktu.
Metode 3: OSS
Saat Anda mengonfigurasi fitur perekaman, Anda menentukan lokasi penyimpanan file rekaman di OSS. Untuk melihat file di OSS, lihat Daftar objek.
Gabung dan ekstrak konten
Saat menyimpan rekaman di OSS, Anda dapat membuat file indeks baru untuk mengekstrak klip dari periode waktu tertentu atau menggabungkan beberapa file rekaman menjadi satu.
Konten yang direkam harus menyertakan format penyimpanan M3U8 agar dapat digabung atau diekstrak.
Metode 1: Konsol
Masuk ke Konsol ApsaraVideo Live.
Di bilah navigasi kiri, pilih Feature Management > Recording. Pilih tab Recording Management.
Pilih domain streaming yang telah dikonfigurasi.
Pilih tab OSS.
Klik Edit Index File. Filter file rekaman berdasarkan domain streaming, AppName, StreamName, dan rentang waktu.
Anda dapat melihat periode waktu yang berisi konten yang direkam di timeline. Atur waktu mulai dan akhir, lalu klik Save As untuk menyimpan file M3U8 yang baru dihasilkan.
Metode 2: API
ApsaraVideo Live menyediakan API untuk membuat file indeks baru. Informasi segmen TS disimpan dalam sistem ApsaraVideo Live hanya selama tiga bulan, sehingga Anda hanya dapat memilih konten yang direkam dalam tiga bulan terakhir.
Untuk detail pemanggilan API dan konfigurasi parameter, lihat CreateLiveStreamRecordIndexFiles - Buat file indeks perekaman.
Hapus rekaman
ApsaraVideo Live menyimpan informasi perekaman, seperti AppName, StreamName, dan jalur penyimpanan file di OSS. File rekaman aktual disimpan di OSS.
Untuk menghapus file di OSS secara bersamaan dengan menghapus informasi perekaman di ApsaraVideo Live, Anda harus membuat peran layanan AliyunMTSVideoLifecycleRole dan memberikan kebijakan sistem AliyunMTSVideoLifecycleRolePolicy. Anda dapat klik untuk otorisasi guna otorisasi satu klik.
Anda dapat menghapus file rekaman menggunakan metode berikut:
Konsol Live: Di tab Recording Management, pilih file dan hapus. Pilih Also delete the recording file stored in OSS untuk menghapus file OSS juga.
API: Panggil antarmuka DeleteLiveStreamRecordIndexFiles - Hapus file rekaman siaran langsung.
Penghapusan langsung di OSS: Secara umum, kami tidak menyarankan menghapus file rekaman langsung dari OSS. Jika bisnis Anda memerlukannya, lihat dokumentasi OSS tentang menghapus objek.
Penghapusan otomatis saat kedaluwarsa: Untuk mengaktifkan fitur ini, kirim Tiket untuk mengonfigurasi waktu kedaluwarsa.
Konfigurasi domain CDN
Untuk mempercepat distribusi video yang direkam, konfigurasikan domain CDN. CDN mendistribusikan video ke berbagai node, memungkinkan pengguna mengakses konten dari node terdekat daripada origin OSS. Hal ini meningkatkan kecepatan akses dan menghemat biaya jaringan. Untuk operasi spesifik, lihat Percepat akses ke OSS menggunakan Alibaba Cloud CDN.
Kebijakan prioritas template
Jika Anda mengonfigurasi beberapa template perekaman dan siaran langsung cocok dengan lebih dari satu, sistem menerapkan template dengan prioritas tertinggi. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi.
Prioritas | DomainName | AppName | StreamName |
1 | Spesifik | Ditentukan | Ditentukan |
2 | Ditentukan | Spesifik | * |
3 | Ditentukan | * | * |
("Spesifik" menunjukkan bahwa parameter yang sesuai memiliki nilai dan nilainya bukan *)
Penagihan
Menggunakan fitur perekaman siaran langsung dapat menimbulkan biaya berikut:
Biaya layanan perekaman bulanan
Setelah mengaktifkan perekaman siaran langsung, Anda ditagih berdasarkan jumlah puncak saluran perekaman konkuren per bulan. Untuk detail, lihat Biaya perekaman siaran langsung.
Biaya konversi format kontainer perekaman
Saat Anda memilih format non-default seperti FLV, MP4, atau CMAF, Anda dikenai biaya berdasarkan durasi. Biaya ini dikumpulkan oleh layanan ApsaraVideo Live. Untuk detail, lihat Biaya perekaman siaran langsung.
Biaya pemrosesan video yang direkam
Saat menyimpan di ApsaraVideo VOD, pemrosesan video yang direkam melalui penggabungan otomatis atau transkoding menimbulkan biaya pemrosesan video, yang dikenakan oleh layanan ApsaraVideo VOD. Untuk detail, lihat Penagihan editing dan produksi dan Penagihan transkoding media.
Biaya Penyimpanan
Menyimpan file yang direkam di ApsaraVideo VOD menimbulkan biaya penyimpanan, yang dikenakan oleh layanan ApsaraVideo VOD. Untuk detail, lihat Penagihan penyimpanan media.
Menyimpan file yang direkam di OSS menimbulkan biaya penyimpanan, yang dikenakan oleh layanan OSS. Untuk detail, lihat Biaya penyimpanan.
FAQ
Generasi dan ketersediaan rekaman
Mekanisme generasi
File rekaman tidak dihasilkan segera setelah aliran terputus. Sistem menunggu durasi penyambungan untuk aliran yang terputus (default 180 detik). Jika aliran dilanjutkan dalam periode ini, perekaman ditambahkan ke file yang ada. Jika tidak dilanjutkan, sistem menentukan bahwa aliran telah berakhir dan menghasilkan file rekaman.
Anda dapat menyesuaikan durasi ini sesuai kebutuhan, tetapi kami menyarankan mempertahankan pengaturan default. Durasi yang lebih pendek dapat menyebabkan banyak file kecil akibat fluktuasi jaringan, sedangkan durasi yang lebih lama berarti menunggu lebih lama untuk file setelah aliran berakhir.
Generasi segera
Untuk menghasilkan file rekaman segera setelah aliran berakhir, tanpa penundaan penyambungan, atur callback event untuk aliran ingest (lihat Callback event). Saat Anda menerima notifikasi pemutusan aliran, panggil API RealTimeRecordCommand untuk membatalkan penundaan penyambungan.
realTimeRecordCommandRequest.setCommand("cancel_delay");Menampilkan rekaman yang sedang berlangsung
Jika durasi aliran belum melebihi siklus perekaman, file biasanya dihasilkan setelah aliran berakhir. Untuk mengakses file rekaman saat ini sebelum aliran berakhir, panggil API RealTimeRecordCommand untuk merefresh perekaman. Perintah ini secara paksa mengakhiri proses perekaman saat ini, menghasilkan file segera, lalu secara otomatis memulai perekaman baru.
realTimeRecordCommandRequest.setCommand("restart");Jika perekaman aliran Anda dikonfigurasi dengan beberapa format penyimpanan, operasi ini akan merefresh semuanya.
Dampak anomali aliran terhadap perekaman
Sistem menangani anomali aliran secara berbeda berdasarkan tingkat keparahannya:
Aliran standar (memenuhi persyaratan encoding dengan laju frame dan timestamp stabil): Rekaman dihasilkan berhasil 100%.
Aliran dengan masalah ringan (fluktuasi laju frame sesekali atau lompatan timestamp): Sistem secara otomatis menangani ini untuk kompatibilitas.
Aliran dengan masalah serius (tidak adanya frame video dalam waktu lama, timestamp tidak berurutan, atau keyframe hilang): Keberhasilan perekaman tidak dapat dijamin.
Pemecahan masalah file rekaman
Jika file rekaman tidak dihasilkan atau berisi konten yang tidak diharapkan, periksa hal berikut:
Konfigurasi perekaman tidak berlaku — Template perekaman hanya berlaku untuk aliran baru yang didorong setelah konfigurasi selesai. Jika aliran sudah didorong saat template dibuat, Anda harus memutus dan mendorong ulang aliran agar template berlaku.
Aliran yang telah dikodekan ulang tidak direkam — Verifikasi bahwa metode pemicu transkoding diatur ke "dipicu-dorong". Jika metode pemicu diatur ke "dipicu-tarik", aliran yang telah dikodekan ulang hanya dihasilkan saat penonton secara aktif menarik aliran tersebut. Tanpa tarikan aktif, aliran yang telah dikodekan ulang tidak ada dan karenanya tidak dapat direkam.
Segmen duplikat dalam pemutaran — Ini biasanya terjadi saat aliran terputus dan terhubung kembali dalam durasi penyambungan. Segmen yang tumpang tindih keduanya dimasukkan dalam rekaman. Diperlukan editing pascaproduksi untuk menghapus bagian duplikat.
Layar kosong dengan audio pada resolusi tinggi — Periksa sisi dorong: apakah sumber berbagi layar ditangkap dengan benar, apakah pengaturan encoder sesuai dengan resolusi target, dan apakah pemutar mendukung format encoding. Masalah ini biasanya disebabkan oleh konfigurasi sisi dorong, bukan layanan perekaman.
Tidak ada catatan callback OSS — Verifikasi bahwa tujuan penyimpanan diatur ke OSS. ApsaraVideo VOD menggunakan event callback yang berbeda dari OSS. Jika rekaman disimpan di ApsaraVideo VOD, periksa event callback ApsaraVideo VOD.
Nama file rekaman tidak sesuai harapan — Saat menyimpan rekaman di ApsaraVideo VOD, nama file rekaman secara default menggunakan
StreamNamedan tidak mendukung kustomisasi. Jika Anda memerlukan nama file kustom, gunakan penyimpanan OSS dan konfigurasikan konvensi penamaan dalam template perekaman.