全部产品
Search
文档中心

Intelligent Media Services:Buat dan gunakan template lanjutan

更新时间:Jul 06, 2025

Produksi cerdas memungkinkan Anda menggunakan template lanjutan untuk pengeditan video, mencapai efek lanjutan serta gaya animasi yang kompleks. Topik ini menjelaskan cara membuat dan menggunakan template lanjutan.

Buat template lanjutan

Gunakan konsol IMS

  1. Gunakan VE Exporter untuk mengekspor proyek AE sebagai file template dalam format ZIP.

  2. Unggah file template ke Template Factory.

Panggil operasi API

Panggil operasi AddTemplate untuk membuat template dan tentukan OSS URL dari template lanjutan.

AddTemplateRequest request = new AddTemplateRequest();
request.setType("VETemplate");
request.setName("Tes template lanjutan");
request.setConfig("{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}");
AddTemplateResponse response = iceClient.addTemplate(request);
System.out.println("templateId : " + response.getBody().getTemplate().getTemplateId());
Catatan

Nilai dari oss_url dalam contoh ini hanya untuk referensi. Anda harus menentukan OSS URL yang sebenarnya.

Gunakan template lanjutan

Gunakan konsol IMS

Untuk informasi lebih lanjut tentang cara menggunakan template lanjutan untuk mengedit video, lihat Gunakan Template Lanjutan untuk Mengedit Video.

Panggil operasi API

  1. Dapatkan informasi template.

    Panggil operasi GetTemplate untuk mendapatkan informasi template. Tentukan ID template di parameter TemplateId.

    GetTemplateRequest request = new GetTemplateRequest();
    request.setTemplateId("****20b48fb04483915d4f2cd8ac****");
    GetTemplateResponse response = iceClient.getTemplate(request);
    GetTemplateResponseBody.GetTemplateResponseBodyTemplate template = response.getBody().getTemplate();
    System.out.println("templateId : " + template.getTemplateId());
    System.out.println("clipsParam : " + template.getClipsParam());

    Keluaran berikut dikembalikan:

    {
        "RequestId":"******11-DB8D-4A9A-875B-275798******",
        "Template":{
            "TemplateId":"****20b48fb04483915d4f2cd8ac****",
            "Name":"Tes template lanjutan",
            "Type":"VETemplate",
            "Status":"Available",
            "ModifiedSource":"OpenAPI",
            "CreateSource":"OpenAPI",
            "Config":"{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}",
            "ClipsParam":"{\"Text7\":\"text\",\"Text6\":\"text\",\"Text5\":\"text\",\"Text4\":\"text\",\"Text3\":\"text\",\"Text2\":\"text\",\"Text1\":\"text\",\"Text0\":\"text\",\"Media3\":\"mediaId\",\"Media2\":\"mediaId\",\"Media1\":\"mediaId\",\"Media0\":\"mediaId\"}",
            "PreviewMedia":"",
            "CoverURL":""
        }
    }
    Catatan

    Anda juga dapat menggunakan template bawaan. Metode penggunaannya mirip dengan metode yang dijelaskan pada bagian sebelumnya. Untuk informasi lebih lanjut tentang template bawaan, lihat Template Lanjutan.

  2. Ganti text dan mediaId dari parameter ClipsParam dengan nilai sebenarnya.

    {
        "Text0":"Subtitle 0",
        "Text1":"Subtitle 1",
        "Text2":"Subtitle 2",
        "Text3":"Subtitle 3",
        "Text4":"Subtitle 4",
        "Text5":"Subtitle 5",
        "Text6":"Subtitle 6",
        "Text7":"Subtitle 7",
        "Media0":"****20b48fb04483915d4f2cd8ac****",
        "Media1":"****20b48fb04483915d4f2cd8ac****",
        "Media2":"****20b48fb04483915d4f2cd8ac****",
        "Media3":"****20b48fb04483915d4f2cd8ac****"
    }
    Catatan
    • ClipsParam adalah parameter untuk layanan produksi. Anda dapat mengganti teks dengan subtitle dan mediaId dengan ID atau OSS URL dari aset media, termasuk video atau gambar. Subtitle dan aset media dapat digunakan bersamaan.

    • Jika hanya beberapa bidang yang ditentukan dalam parameter ClipsParam, subtitle yang tidak ditentukan akan dibiarkan kosong secara default, dan aset media default dari template digunakan.

    • Anda dapat mengatur font untuk subtitle dan mode adaptasi untuk video dan gambar. Untuk informasi lebih lanjut, lihat Fitur Tambahan.

  3. Panggil layanan produksi.

    Panggil operasi SubmitMediaProducingJob untuk mengirimkan pekerjaan pengeditan dan produksi. Tentukan parameter TemplateId dan ClipsParam.

    SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest();
    request.setTemplateId("****20b48fb04483915d4f2cd8ac****");
    request.setClipsParam("{\"Text7\":\" Subtitle 7\",\"Text6\":\" Subtitle 6\",\"Text5\":\" Subtitle 5\",\"Text4\":\" Subtitle 4\",\"Text3\":\" Subtitle 3\",\"Text2\":" Subtitle 2 "," Text1 ":" Subtitle 1 "," Text0 ":" Subtitle 0 "," Media3 ":"****20b48fb04483915d4f2cd8ac**** "," Media2 ":"****20b48fb04483915d4f2cd8ac**** "," Media1 ":"****20******** "," Media0 ":"****20b48fb04483915d4f2cd8ac**** "}");
    request.setOutputMediaConfig("{\"MediaURL\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.mp4\"}");
    SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request);
    System.out.println("jobid : " + response.getBody().getJobId());

Fitur tambahan

Tetapkan mode adaptasi video dan gambar

Gunakan bidang .adapt_type untuk menetapkan mode penskalaan untuk video dan gambar. Nilai valid:

  • 0: Material diskalakan.

  • 1: Material mempertahankan rasio aspek dan mengisi dimensi yang diberikan di tengah.

  • 2: Material mempertahankan rasio aspek, tetapi diskalakan agar sesuai dalam dimensi yang diberikan di tengah.

  • 3: Material diskalakan untuk mengisi dimensi yang diberikan, terlepas dari rasio aspek.

{
    "Text7":"Subtitle 7",
    "Text6":"Subtitle 6",
    "Text5":"Subtitle 5",
    "Text4":"Subtitle 4",
    "Text3":"Subtitle 3",
    "Text2":"Subtitle 2",
    "Text1":"Subtitle 1",
    "Text0":"Subtitle 0",
    "Media3":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object01.jpg",
    "Media2":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object02.jpg",
    "Media1":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object03.jpg",
    "Media0":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object04.jpg",
    "Media3.adapt_type":0,
    "Media2.adapt_type":1,
    "Media1.adapt_type":2,
    "Media0.adapt_type":3
}

Ubah font subtitle

Gunakan bidang .font_file untuk menetapkan font subtitle. Anda juga dapat menetapkan OSS URL untuk menggunakan font kustom. Untuk informasi lebih lanjut tentang font

{
    "Text7.font_file":"SimSun",
    "Text6.font_file":"Yuanti",
    "Text5.font_file":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font1.ttf",
    "Text4.font_file":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font2.ttf",
    "Text7":"Subtitle 7",
    "Text6":"Subtitle 6",
    "Text5":"Subtitle 5",
    "Text4":"Subtitle 4",
    "Text3":"Subtitle 3",
    "Text2":"Subtitle 2",
    "Text1":"Subtitle 1",
    "Text0":"Subtitle 0",
    "Media3":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object01.jpg",
    "Media2":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object02.jpg",
    "Media1":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object03.jpg",
    "Media0":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object04.jpg"
}

Pengaturan lainnya

Parameter ClipsParam juga mendukung pengaturan tambahan untuk mengedit material:

{
  // Aset media
  "Media1": "a8f5f167f44f4964e6c998dee827110c",
  "Media1.loop": 1, // Pengaturan ini berlaku untuk video dan GIF. 0: menggunakan logika loop default mesin. 1: melingkar material. 2: tidak melingkar material.
  "Media1.volume": 0.5, // Pengaturan ini berlaku untuk video. Anda harus menentukan nilai lebih besar dari atau sama dengan 0. Nilai valid: 0 hingga 1. Nilai default: 0.
  "Media1.adapt_type": 0, // Mode adaptasi. 0: Material tidak diskalakan. 1: Material mempertahankan rasio aspek dan mengisi dimensi yang diberikan di tengah. 2: Material mempertahankan rasio aspek, tetapi diskalakan agar sesuai dalam dimensi yang diberikan di tengah. 3: Material diskalakan untuk mengisi dimensi yang diberikan, terlepas dari rasio aspek. 4: menggunakan matriks yang ditentukan oleh bidang transform. Nilai default: 1.
  "Media1.transform": [a,c,e,b,d,f], // Matriks baris dalam format [scale, skewX, transX, skewY, scaleY, transY]. Matriks adalah sistem koordinat lokal dari gambar asli. Matriks unit digunakan secara default.
  "Media1.clip_start": 0.0, // Opsional. Waktu mulai pemotongan video. Nilai clip_end harus lebih besar dari nilai clip_start.
  "Media1.clip_end": 10.0, // Waktu akhir pemotongan video. Nilai lebih besar dari 0 menunjukkan bahwa pemotongan video diperlukan. Nilai kurang dari atau sama dengan 0 menunjukkan bahwa pemotongan video tidak diperlukan di akhir video.
  
  // Subtitle
  "Text1":"Test subtitle",
  "Text1.adapt": true, // Menentukan apakah akan mengaktifkan adaptasi teks. Parameter ini hanya valid untuk teks jenis kotak teks. Secara default, metode adaptasi dalam template digunakan.
  "Text1.fill": "#FFFFFF", // Warna isi teks.
  "Text1.stroke": "#FFFFFF", // Warna garis luar teks.
  "Text1.stroke_width": 0.0, // Lebar garis luar teks.
  "Text1.stroke_over_fill": false, // Menentukan apakah warna garis luar berada di atas warna isi.
  "Text1.size": 10, // Ukuran teks dalam piksel.
  "Text1.font_file": "SimSun" // Nama keluarga font.
}