All Products
Search
Document Center

ApsaraVideo VOD:Kelompok template transcoding

Last Updated:Jun 21, 2025

Topik ini memberikan contoh penggunaan operasi API dari modul kelompok template transcoding. Operasi API tersebut dienkapsulasi dalam ApsaraVideo VOD SDK for Java. Anda dapat memanggil operasi API untuk membuat, memodifikasi, menghapus, dan menanyakan kelompok template transcoding serta menetapkan kelompok template transcoding sebagai yang default.

Catatan penggunaan

  • Dalam contoh ini, sepasang AccessKey digunakan untuk menginisialisasi instance klien.

  • Untuk informasi lebih lanjut tentang parameter permintaan dan respons dari operasi ini, kunjungi OpenAPI Explorer. Anda dapat mengklik API Documentations di bilah navigasi atas untuk melihat informasi terkait operasi API.

  • Topik ini hanya menyediakan kode contoh untuk beberapa operasi API yang kompleks. Untuk mendapatkan kode contoh untuk operasi API lainnya, lakukan langkah-langkah berikut: Kunjungi Alibaba Cloud OpenAPI Explorer. Di panel navigasi sisi kiri, temukan operasi API yang ingin Anda peroleh kode contohnya dan tentukan parameter yang diperlukan pada tab Parameters. Kemudian, klik Panggil. Pada tab SDK Sample Code, pilih bahasa untuk melihat dan mengunduh kode contoh.

  • Topik ini menjelaskan cara menggunakan ApsaraVideo VOD SDK for Java V1.0 untuk memanggil operasi API. Jika Anda menggunakan ApsaraVideo VOD SDK for Java V2.0 untuk memanggil operasi API, tentukan V2.0 saat Anda mendapatkan kode contoh di Alibaba Cloud OpenAPI Explorer.image.png

Inisialisasi klien

Sebelum menggunakan SDK, inisialisasi klien. Untuk informasi lebih lanjut, lihat Inisialisasi.

Buat kelompok template transcoding

Anda dapat memanggil operasi AddTranscodeTemplateGroup untuk membuat kelompok template transcoding.

Klik AddTranscodeTemplateGroup untuk mempelajari lebih lanjut tentang operasi API ini.

Kode contoh:

import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.vod.model.v20170321.AddTranscodeTemplateGroupRequest;
import com.aliyuncs.vod.model.v20170321.AddTranscodeTemplateGroupResponse;

/** 
 * Dapatkan Informasi AccessKey.
 */
public static DefaultAcsClient initVodClient() throws ClientException {
    // Tentukan wilayah tempat ApsaraVideo VOD diaktifkan.
    String regionId = "cn-shanghai";  
    // Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan pemeliharaan rutin. 
    // Kami merekomendasikan Anda tidak menyimpan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) di kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor. Akibatnya, keamanan semua sumber daya di akun Anda terganggu. 
    // Dalam contoh ini, sistem membaca pasangan AccessKey dari variabel lingkungan untuk mengimplementasikan otentikasi akses API. Sebelum Anda menjalankan kode contoh, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. 
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

/**
 * Konfigurasikan kelompok template transcoding.
 */
public static AddTranscodeTemplateGroupResponse addTranscodeTemplateGroup(DefaultAcsClient client) throws Exception {
    AddTranscodeTemplateGroupRequest request = new AddTranscodeTemplateGroupRequest();
    // ID template transcoding.
    request.setName("grouptest");
    request.setTranscodeTemplateList(buildTranscodeTemplateList().toJSONString());
    return client.getAcsResponse(request);
}

/**
 * Setel parameter yang diperlukan untuk menambahkan template transcoding.
 *
 * @return
 */
public static JSONArray buildTranscodeTemplateList() {
    JSONObject transcodeTemplate = new JSONObject();
    // Nama template.
    transcodeTemplate.put("TemplateName", "testtemplate");

    // Resolusi.
    transcodeTemplate.put("Definition", "LD");

    // Pengaturan transcoding untuk aliran video.
    JSONObject video = new JSONObject();
    video.put("Width", 640);
    video.put("Bitrate", 400);
    video.put("Fps", 25);
    video.put("Remove", false);
    video.put("Codec", "H.264");
    video.put("Gop", "250");
    transcodeTemplate.put("Video", video);

    // Pengaturan transcoding untuk aliran audio.
    JSONObject audio = new JSONObject();
    audio.put("Codec", "AAC");
    audio.put("Bitrate", "64");
    audio.put("Channels", "2");
    audio.put("Samplerate", "32000");
    transcodeTemplate.put("Audio", audio);

    // Kontainer.
    JSONObject container = new JSONObject();
    container.put("Format", "mp4");
    transcodeTemplate.put("Container", container);

    // Konfigurasi transcoding bersyarat.
    JSONObject transconfig = new JSONObject();
    transconfig.put("IsCheckReso", false);
    transconfig.put("IsCheckResoFail", false);
    transconfig.put("IsCheckVideoBitrate", false);
    transconfig.put("IsCheckVideoBitrateFail", false);
    transconfig.put("IsCheckAudioBitrate", false);
    transconfig.put("IsCheckAudioBitrateFail", false);
    transcodeTemplate.put("TransConfig", transconfig);

    // Konfigurasi enkripsi. Hanya video dalam format M3U8 yang dapat dienkripsi.
    //JSONObject encryptSetting = new JSONObject();
    //encryptSetting.put("EncryptType", "Private");
    //transcodeTemplate.put("EncryptSetting", encryptSetting);

    // ID watermark terkait.
    JSONArray watermarkIdList = new JSONArray();
    watermarkIdList.add("263261bdc1ff65782f8995c6dd22****");
    // USER_DEFAULT_WATERMARK menunjukkan ID watermark default.
    watermarkIdList.add("USER_DEFAULT_WATERMARK");
    transcodeTemplate.put("WatermarkIds", watermarkIdList);

    JSONArray transcodeTemplateList = new JSONArray();
    transcodeTemplateList.add(transcodeTemplate);
    return transcodeTemplateList;
}

/**
 * Kode contoh
 */
public static void main(String[] args) throws ClientException {
    DefaultAcsClient client = initVodClient();
    AddTranscodeTemplateGroupResponse response = new AddTranscodeTemplateGroupResponse();
    try {
        response = addTranscodeTemplateGroup(client);
        System.out.println("TranscodeTemplateGroupId = " + response.getTranscodeTemplateGroupId());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

Modifikasi kelompok template transcoding

Anda dapat memanggil operasi UpdateTranscodeTemplateGroup untuk memodifikasi kelompok template transcoding.

Klik UpdateTranscodeTemplateGroup untuk mempelajari lebih lanjut tentang operasi API ini.

Kode contoh:

import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.vod.model.v20170321.UpdateTranscodeTemplateGroupRequest;
import com.aliyuncs.vod.model.v20170321.UpdateTranscodeTemplateGroupResponse;

/** 
 * Dapatkan Informasi AccessKey.
 */
public static DefaultAcsClient initVodClient() throws ClientException {
    // Tentukan wilayah tempat ApsaraVideo VOD diaktifkan.
    String regionId = "cn-shanghai";  
    // Pasangan AccessKey akun Alibaba Cloud memiliki izin untuk semua operasi API. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan pemeliharaan rutin. 
    // Kami merekomendasikan Anda tidak menyimpan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) di kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor. Akibatnya, keamanan semua sumber daya di akun Anda terganggu. 
    // Dalam contoh ini, sistem membaca pasangan AccessKey dari variabel lingkungan untuk mengimplementasikan otentikasi akses API. Sebelum Anda menjalankan kode contoh, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. 
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
    }

/**
 * Modifikasi kelompok template transcoding.
 */
public static UpdateTranscodeTemplateGroupResponse updateTranscodeTemplateGroup(DefaultAcsClient client) throws Exception {
    UpdateTranscodeTemplateGroupRequest request = new UpdateTranscodeTemplateGroupRequest();
    request.setName("grouptest1");
    // ID kelompok template transcoding.
    request.setTranscodeTemplateGroupId("4c71a339fecec0152b4fa6f452****");
    request.setTranscodeTemplateList(buildTranscodeTemplateList().toJSONString());
    return client.getAcsResponse(request);
}

/**
 * Bangun parameter template transcoding yang ingin Anda modifikasi.
 *
 * @return
 */
public static JSONArray buildTranscodeTemplateList() {
    JSONObject transcodeTemplate = new JSONObject();
    // ID template transcoding.
    transcodeTemplate.put("TranscodeTemplateId", "85c2b18ac08fda33e8f6d9c56****");

     // Nama template.
    transcodeTemplate.put("TemplateName", "testtemplate");

    // Pengaturan transcoding untuk aliran video.
    JSONObject video = new JSONObject();
    video.put("Width", 960);
    video.put("Bitrate", 900);
    video.put("Fps", 25);
    video.put("Remove", false);
    video.put("Codec", "H.264");
    video.put("Gop", "250");
    transcodeTemplate.put("Video", video);

    // Pengaturan transcoding untuk aliran audio.
    JSONObject audio = new JSONObject();
    audio.put("Codec", "AAC");
    audio.put("Bitrate", "96");
    audio.put("Channels", "2");
    audio.put("Samplerate", "32000");
    transcodeTemplate.put("Audio", audio);

    // Kontainer.
    JSONObject container = new JSONObject();
    container.put("Format", "mp4");
    transcodeTemplate.put("Container", container);

    // Konfigurasi transcoding bersyarat.
    JSONObject transconfig = new JSONObject();
    transconfig.put("IsCheckReso", false);
    transconfig.put("IsCheckResoFail", false);
    transconfig.put("IsCheckVideoBitrate", false);
    transconfig.put("IsCheckVideoBitrateFail", false);
    transconfig.put("IsCheckAudioBitrate", false);
    transconfig.put("IsCheckAudioBitrateFail", false);
    transcodeTemplate.put("TransConfig", transconfig);

    // Konfigurasi enkripsi. Hanya video dalam format M3U8 yang dapat dienkripsi.
    JSONObject encryptSetting = new JSONObject();
    encryptSetting.put("EncryptType", "Private");

    // ID watermark terkait.
    JSONArray watermarkIdList = new JSONArray();
    watermarkIdList.add("263261bdc1ff65782f95c6dd22****");
    // USER_DEFAULT_WATERMARK menunjukkan ID watermark default.
    watermarkIdList.add("USER_DEFAULT_WATERMARK");
    transcodeTemplate.put("WatermarkIds", watermarkIdList);

    JSONArray transcodeTemplateList = new JSONArray();
    transcodeTemplateList.add(transcodeTemplate);
    return transcodeTemplateList;
}

/**
 * Kode contoh
 */
public static void main(String[] args) throws ClientException {
    DefaultAcsClient client = initVodClient();
    UpdateTranscodeTemplateGroupResponse response = new UpdateTranscodeTemplateGroupResponse();
    try {
        response = updateTranscodeTemplateGroup(client);
        System.out.println("TranscodeTemplateGroupId = " + response.getTranscodeTemplateGroupId());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

Tanyakan kelompok template transcoding

  • Anda dapat memanggil operasi GetTranscodeTemplateGroup untuk menanyakan kelompok template transcoding.

    Klik GetTranscodeTemplateGroup untuk mempelajari lebih lanjut tentang operasi API ini.

  • Anda dapat memanggil operasi ListTranscodeTemplateGroup untuk menanyakan daftar kelompok template transcoding.

    Klik ListTranscodeTemplateGroup untuk mempelajari lebih lanjut tentang operasi API ini.

Tetapkan kelompok template transcoding sebagai yang default

Anda dapat memanggil operasi SetDefaultTranscodeTemplateGroup untuk menetapkan kelompok template transcoding sebagai yang default.

Klik SetDefaultTranscodeTemplateGroup untuk mempelajari lebih lanjut tentang operasi API ini.

Hapus kelompok template transcoding

Anda dapat memanggil operasi DeleteTranscodeTemplateGroup untuk menghapus kelompok template transcoding.

Klik DeleteTranscodeTemplateGroup untuk mempelajari lebih lanjut tentang operasi API ini.