ApsaraVideo VOD menyediakan aturan default untuk penamaan file yang telah ditranskode. Nama file tersebut dapat digunakan sebagai jalur relatif menuju file. Topik ini menjelaskan aturan default serta cara menyesuaikan aturan penamaan.
Definisi nama file
Aturan penamaan file yang telah ditranskode dapat mencakup string dinamis dan string tetap. String dinamis adalah wildcard yang didukung oleh ApsaraVideo VOD dan dapat diganti secara otomatis dengan nilai yang sesuai, sedangkan string tetap tidak dapat diubah.
Aturan penamaan ini tidak berlaku untuk file output dalam format HTTP Live Streaming (HLS) dan Dynamic Adaptive Streaming over HTTP (DASH).
String Dinamis
String dinamis adalah wildcard yang dapat diganti secara otomatis dengan nilai yang sesuai saat file hasil transkoding dihasilkan dari video. ApsaraVideo VOD mendukung wildcard berikut untuk penamaan file video:
{MediaId}: ID video. Setiap video memiliki ID unik, namun nama file output dari video yang sama akan selalu mengandung ID video yang sama. Anda dapat menghasilkan beberapa aliran hasil transkoding dari satu video.{JobId}: ID pekerjaan transkoding. ID ini bersifat unik secara global untuk mengidentifikasi file hasil transkoding.{PlayDefinition}: resolusi file hasil transkoding. Parameter ini tidak harus unik.CatatanBidang ini diisi dengan nilai parameter
Definitionyang dikembalikan oleh operasi GetPlayInfo dalam huruf kecil. Untuk informasi lebih lanjut, lihat GetPlayInfo.
String Tetap
String tetap memberikan informasi bisnis tambahan. Sebagai contoh, string "watermark" menunjukkan bahwa file output mengandung watermark, sementara "encrypt" menunjukkan bahwa video sumber telah dienkripsi. Secara default, ApsaraVideo VOD menambahkan encrypt-stream ke nama file output setelah enkripsi video. Anda juga dapat menggunakan string tetap kustom untuk menunjukkan fitur bisnis tertentu.
Contohnya,
{MediaId}/{JobId}-watermark-sddan{MediaId}/encrypt-hdmengandung string "watermark" dan "encrypt", yang menunjukkan bahwa file output mengandung watermark dan bahwa video sumber telah dienkripsi.
Kesatuan nama file
Untuk mencegah terjadinya penimpaan file hasil transkoding, setiap nama file harus unik.
Sebagai contoh,
{MediaId}/{JobId}memastikan kesatuan setiap nama file karena string {JobId} bersifat unik secara global.Namun,
{MediaId}/testdapat menyebabkan duplikasi nama file karena tidak mencakup string yang memastikan kesatuan global. Jika Anda menerapkan aturan ini saat mentranskode video menjadi dua file MP4 dengan spesifikasi berbeda, ApsaraVideo VOD akan memberikan nama yang sama kepada kedua file hasil transkoding. Akibatnya, file hasil transkoding yang dihasilkan kemudian akan menimpa file sebelumnya.
Aturan default
ApsaraVideo VOD menyediakan aturan berikut untuk penamaan file hasil transkoding.
String Kustom dalam aturan penamaan berikut digunakan untuk memastikan bahwa setiap nama file hasil transkoding bersifat unik.
Output Tidak Terenkripsi
Aturan:
{MediaId}/[Custom string]-{PlayDefinition}Contoh:
99f4f18c560c4f35459ef71tr/1b1196c767003c3dba0543055-40023f3f33e648df975f4dfc4c-sd
Output Terenkripsi
Aturan:
{MediaId}/[Custom string]-{PlayDefinition}-encrypt-streamContoh:
99f4f18c560c4f35459ef71tr/1b1196c767003c3dba0543055-40023f3f33e648df975f4dfc4c-sd-encrypt-streamCatatanString encrypt-stream menunjukkan bahwa file output dihasilkan setelah proses enkripsi dan transkoding. Aturan ini hanya berlaku untuk kriptografi eksklusif Alibaba Cloud dan enkripsi HLS.
Aturan kustom
Untuk memutar file video, pemain media harus mendapatkan URL streaming. Jika Anda ingin mempersingkat waktu respons untuk pemutaran video dalam skenario tertentu, Anda dapat menyesuaikan aturan penamaan yang mencakup parameter yang diperlukan untuk menghasilkan URL streaming. Sebagai contoh, jika Anda menetapkan aturan penamaan {MediaId}/{PlayDefinition}, ApsaraVideo VOD akan menghasilkan URL streaming berdasarkan ID video dan resolusi. Dalam hal ini, Anda tidak perlu memanggil operasi untuk meminta URL streaming. ApsaraVideo VOD mendukung aturan penamaan kustom untuk file hasil transkoding. Saat file hasil transkoding dihasilkan, ApsaraVideo VOD akan menamai file tersebut sesuai dengan aturan kustom Anda.
Batasan
Aturan penamaan kustom untuk file hasil transkoding hanya mendukung wildcard tertentu, huruf, angka, tanda hubung (-), dan garis bawah (_). Panjang aturan tidak boleh melebihi 128 karakter.
Aturan penamaan kustom untuk file hasil transkoding harus dimulai dengan wildcard {MediaId} untuk menentukan video sumber. Hal ini mencegah file hasil transkoding dari video berbeda menggunakan nama yang sama.
ApsaraVideo VOD secara otomatis menambahkan ekstensi ke nama file hasil transkoding. Jika Anda menetapkan aturan untuk menghasilkan file MP4 dengan nama dalam format {MediaId}/{JobId}-watermark-{PlayDefinition} setelah transkoding, ApsaraVideo VOD akan menambahkan ekstensi .mp4 ke nama file hasil transkoding.
Contoh:
99f4f18c560c4f35459ef71tr/1b1196c767003c3dba0543055-watermark-sd.mp4Pastikan aturan kustom Anda menghasilkan nama unik untuk setiap file hasil transkoding guna mencegah terjadinya penimpaan file.
Metode konfigurasi
Anda hanya dapat menggunakan API ApsaraVideo VOD untuk menyesuaikan aturan penamaan file hasil transkoding. Untuk informasi lebih lanjut, lihat AddTranscodeTemplateGroup. Untuk informasi tentang parameter operasi ini, lihat parameter TranscodeFileRegular dari TranscodeTemplate.
Contoh konfigurasi
public static JSONArray buildTranscodeTemplateList() {
JSONObject transcodeTemplate = new JSONObject();
// Sesuaikan aturan untuk penamaan file yang telah ditranskode.
transcodeTemplate.put("TranscodeFileRegular", "{MediaId}/{JobId}-watermark-{PlayDefinition}");
// Tentukan nama template.
transcodeTemplate.put("TemplateName", "testtemplate");
// Tentukan definisi.
transcodeTemplate.put("Definition", "LD");
......
// Konfigurasikan pengaturan transkoding video, transkoding audio, dan format output.
......
JSONArray transcodeTemplateList = new JSONArray();
transcodeTemplateList.add(transcodeTemplate);
return transcodeTemplateList;
}Untuk informasi lebih lanjut, lihat Template Transkoding.