All Products
Search
Document Center

ApsaraVideo VOD:Menyesuaikan nama file hasil transkoding

Last Updated:Aug 20, 2026

Saat Anda mengunggah video ke ApsaraVideo VOD untuk transkoding, file output diberi nama berdasarkan aturan tertentu. Nama file tersebut juga berfungsi sebagai path relatif file tersebut. Topik ini menjelaskan aturan penamaan default untuk file hasil transkoding dan cara menyesuaikannya.

Definisi nama file

Nama file terdiri dari string variabel dan string tetap. String variabel adalah karakter wildcard tertentu yang disediakan oleh VOD dan dapat diganti secara dinamis, sedangkan string tetap tidak dapat diganti secara dinamis.

Catatan

Aturan penamaan file ini tidak berlaku untuk nama file output dari pengemasan HTTP Live Streaming (HLS) dan Dynamic Adaptive Streaming over HTTP (DASH).

  • String variabel

    String variabel, juga dikenal sebagai karakter wildcard, merupakan placeholder untuk nilai-nilai tertentu. Jika Anda menetapkan karakter wildcard, VOD akan mengambil nilai yang sesuai dan menggunakannya untuk menggantikan karakter wildcard tersebut saat menghasilkan nama file transkoding. VOD mendukung karakter wildcard berikut:

    • ID Video: {MediaId}. Ini memberikan keunikan parsial karena satu video dapat memiliki beberapa output transkoding.

    • ID Pekerjaan Transkoding: {JobId}. Ini memberikan keunikan lengkap dan dapat mengidentifikasi secara unik suatu file transkoding.

    • Tanda definisi pemutaran: {PlayDefinition}. Ini tidak unik.

      Catatan

      Tanda definisi pemutaran adalah nilai dari bidang Definition yang dikembalikan oleh operasi GetPlayInfo. Nilainya berupa string dalam huruf kecil bahasa Inggris.

  • String tetap

    String tetap dapat merepresentasikan informasi bisnis tertentu. Misalnya, `watermark` menunjukkan output yang diberi watermark, dan `encrypt` menunjukkan output yang dienkripsi. Dalam aturan default yang disediakan oleh VOD, output transkoding terenkripsi mencakup kata kunci encrypt-stream. Anda juga dapat menggunakan aturan kustom untuk mengonfigurasi string tetap sesuai atribut bisnis spesifik Anda.

    Contoh: Dalam {MediaId}/{JobId}-watermark-sd dan {MediaId}/encrypt-hd, kata kunci `watermark` dan `encrypt` menunjukkan informasi watermarking dan enkripsi.

Keunikan nama file

Untuk mencegah file output transkoding saling menimpa, nama yang dikonfigurasi untuk setiap file output transkoding harus unik.

  • Contoh keunikan:

    {MediaId}/{JobId}. `{MediaId}` memberikan keunikan parsial, sedangkan `{JobId}` memberikan keunikan global. Hal ini memastikan seluruh nama file bersifat unik.

  • Contoh nama tidak unik:

    {MediaId}/test. `{MediaId}` hanya memberikan keunikan parsial, dan `test` merepresentasikan informasi bisnis tertentu. Jika Anda melakukan transkoding satu video menjadi dua file MP4 dengan parameter transkoding berbeda—seperti resolusi dan bitrate—maka kedua file output MP4 untuk video yang sama akan memiliki nama yang sama. Hal ini menyebabkan file saling menimpa, sehingga hanya tersisa satu file MP4.

Aturan default

VOD menyediakan serangkaian aturan default untuk menghasilkan nama file output. Aturan tersebut adalah sebagai berikut:

Catatan

String acak digunakan untuk memastikan bahwa file output transkoding memiliki nama yang unik.

  • Output tidak terenkripsi

    Format:

    {MediaId}/[Random string]-{PlayDefinition}

    Contoh:

    99f4f18c560c4f35459ef71tr/1b1196c767003c3dba0543055-40023f3f33e648df975f4dfc4c-sd
  • Output terenkripsi

    Format:

    {MediaId}/[Random string]-{PlayDefinition}-encrypt-stream

    Contoh:

    99f4f18c560c4f35459ef71tr/1b1196c767003c3dba0543055-40023f3f33e648df975f4dfc4c-sd-encrypt-stream
    Catatan

    Kata kunci encrypt-stream menunjukkan bahwa file output merupakan hasil transkoding terenkripsi. Ini hanya berlaku untuk enkripsi HLS (enkripsi proprietary dan enkripsi standar).

Aturan kustom

Dalam beberapa skenario bisnis, Anda mungkin ingin mengurangi waktu respons pemutaran secara keseluruhan. Hal ini dapat dilakukan dengan langsung menyusun alamat pemutaran berdasarkan aturan tertentu. Misalnya, jika aturannya adalah {MediaId}/{PlayDefinition}, Anda dapat menyusun path file menggunakan `MediaId` dan berbagai tanda definisi tanpa perlu memanggil API pemutaran untuk mengambil playlist. VOD memungkinkan Anda menyesuaikan aturan nama file transkoding, lalu VOD akan menghasilkan nama file berdasarkan aturan kustom tersebut.

Batasan aturan

  • Nama file transkoding kustom hanya boleh berisi karakter wildcard tertentu (string variabel), huruf, angka, tanda hubung (-), dan garis bawah (_). Panjang total aturan kustom tidak boleh melebihi 128 karakter.

  • Nama file transkoding kustom harus dimulai dengan karakter wildcard {MediaId}. Hal ini memastikan keunikan parsial dan mencegah konflik antar file transkoding dari video yang berbeda.

  • Jangan sertakan ekstensi file dalam nama file kustom karena VOD akan menambahkannya secara otomatis. Misalnya, jika aturan penamaan adalah {MediaId}/{JobId}-watermark-{PlayDefinition} dan format output-nya mp4, VOD akan secara otomatis menambahkan ekstensi .mp4 saat menghasilkan nama file.

    Contoh: 99f4f18c560c4f35459ef71tr/1b1196c767003c3dba0543055-watermark-sd.mp4

  • Pastikan aturan kustom Anda menghasilkan nama unik untuk setiap file transkoding agar file tidak saling menimpa.

Metode konfigurasi

Anda hanya dapat menyesuaikan nama file transkoding melalui API. Untuk informasi lebih lanjut, lihat AddTranscodeTemplateGroup. Untuk detail parameter, lihat parameter TranscodeFileRegular dalam TranscodeTemplate.

Contoh konfigurasi

public static JSONArray buildTranscodeTemplateList() {
        JSONObject transcodeTemplate = new JSONObject();
        // Menyesuaikan nama file output untuk transkoding.
        transcodeTemplate.put("TranscodeFileRegular", "{MediaId}/{JobId}-watermark-{PlayDefinition}");
        // Nama templat.
        transcodeTemplate.put("TemplateName", "testtemplate");
        // Definisi.
        transcodeTemplate.put("Definition", "LD");
        ......
        // Mengonfigurasi parameter seperti transkoding video, transkoding audio, dan format output.
        ......
        JSONArray transcodeTemplateList = new JSONArray();
        transcodeTemplateList.add(transcodeTemplate);
        return transcodeTemplateList;
    }

Untuk informasi lebih lanjut tentang cara menambahkan kelompok template transkoding, lihat Templat transkoding.