All Products
Search
Document Center

ApsaraVideo Media Processing:Templat Transkoding

Last Updated:Jun 19, 2026

Kelola templat transkoding menggunakan Go SDK V2.0. Contoh berikut menunjukkan cara menambahkan, memperbarui, menghapus, dan melakukan kueri terhadap templat.

Prasyarat

Klien SDK telah diinisialisasi. Untuk informasi selengkapnya, lihat Initialize a client.

Add a template

Panggil operasi AddTemplate untuk menambahkan templat.

Catatan
  • Jika error The resource "Template" quota has been used up dikembalikan saat Anda menambahkan templat, kuota templat transkoding Anda telah habis. Untuk menambah kuota, submit a ticket.

  • Setelah menambahkan templat, catat ID templat transkoding dari nilai kembali. Atau, Anda dapat membuat templat transkoding dan mendapatkan ID-nya melalui Konsol. Untuk informasi selengkapnya, lihat Transcoding templates.

package main

import (
  "encoding/json"
  "strings"
  "fmt"
  "os"
  mts20140618  "github.com/alibabacloud-go/mts-20140618/v6/client"
  openapi  "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  util  "github.com/alibabacloud-go/tea-utils/v2/service"
  "github.com/alibabacloud-go/tea/tea"
)


// Deskripsi:
// 
// Inisialisasi klien dengan Pasangan Kunci Akses.
// 
// @return Client
// 
// @throws Exception
func CreateClient () (_result *mts20140618.Client, _err error) {

  config := &openapi.Config{
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
    AccessKeyId: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
    AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
  }

  config.Endpoint = tea.String("mts.cn-hangzhou.aliyuncs.com")
  _result = &mts20140618.Client{}
  _result, _err = mts20140618.NewClient(config)
  return _result, _err
}

func _main (args []*string) (_err error) {
  client, _err := CreateClient()
  if _err != nil {
    return _err
  }

  addTemplateRequest := &mts20140618.AddTemplateRequest{
    // Nama templat.
    Name: tea.String("mps-example"),
    // Format kontainer.
    Container: tea.String("{\"Format\":\"mp4\"}"),
    // Konfigurasi aliran video.
    Video: tea.String("{\"Codec\":\"H.264\",\"Profile\":\"high\",\"Bitrate\":\"500\",\"Crf\":\"15\",\"Width\":\"256\",\"Height\":\"800\",\"Fps\":\"25\",\"Gop\":\"10s\"}"),
    // Konfigurasi aliran audio.
    Audio: tea.String("{\"Codec\":\"H.264\",\"Samplerate\":\"44100\",\"Bitrate\":\"500\",\"Channels\":\"2\"}"),
    // Konfigurasi transkoding umum.
    TransConfig: tea.String("{\"TransMode\":\"onepass\"}"),
    // Konfigurasi segmen.
    MuxConfig: tea.String("{\"Segment\":{\"Duration\":\"10\"}}"),
  }
  runtime := &util.RuntimeOptions{}
  tryErr := func()(_e error) {
    defer func() {
      if r := tea.Recover(recover()); r != nil {
        _e = r
      }
    }()
    // Jika Anda menyalin kode ini untuk dijalankan, cetak nilai kembali dari panggilan API.
    _, _err = client.AddTemplateWithOptions(addTemplateRequest, runtime)
    if _err != nil {
      return _err
    }

    return nil
  }()

  if tryErr != nil {
    var error = &tea.SDKError{}
    if _t, ok := tryErr.(*tea.SDKError); ok {
      error = _t
    } else {
      error.Message = tea.String(tryErr.Error())
    }
    // Kode berikut hanya untuk tujuan demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
    // Pesan error.
    fmt.Println(tea.StringValue(error.Message))
    // Alamat diagnosis.
    var data interface{}
    d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
    d.Decode(&data)
    if m, ok := data.(map[string]interface{}); ok {
      recommend, _ := m["Recommend"]
      fmt.Println(recommend)
    }
    _, _err = util.AssertAsString(error.Message)
    if _err != nil {
      return _err
    }
  }
  return _err
}


func main() {
  err := _main(tea.StringSlice(os.Args[1:]))
  if err != nil {
    panic(err)
  }
}

Update a template configuration

Panggil operasi UpdateTemplate untuk memperbarui konfigurasi templat transkoding.

package main

import (
  "encoding/json"
  "strings"
  "fmt"
  "os"
  mts20140618  "github.com/alibabacloud-go/mts-20140618/v6/client"
  openapi  "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  util  "github.com/alibabacloud-go/tea-utils/v2/service"
  "github.com/alibabacloud-go/tea/tea"
)


// Deskripsi:
//
// Inisialisasi klien dengan Pasangan Kunci Akses.
//
// @return Client
//
// @throws Exception
func CreateClient () (_result *mts20140618.Client, _err error) {

  config := &openapi.Config{
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
    AccessKeyId: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
    AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
  }

  config.Endpoint = tea.String("mts.cn-hangzhou.aliyuncs.com")
  _result = &mts20140618.Client{}
  _result, _err = mts20140618.NewClient(config)
  return _result, _err
}

func _main (args []*string) (_err error) {
  client, _err := CreateClient()
  if _err != nil {
    return _err
  }

  updateTemplateRequest := &mts20140618.UpdateTemplateRequest{
    // ID templat.
    TemplateId: tea.String("16f01ad6175e4230ac42bb5182cd****"),
    // Nama templat.
    Name: tea.String("MPS-example"),
    // Format kontainer.
    Container: tea.String("{\"Format\":\"mp4\"}"),
    // Konfigurasi aliran video.
    Video: tea.String("{\"Codec\":\"H.264\",\"Profile\":\"high\",\"Bitrate\":\"500\",\"Crf\":\"15\",\"Width\":\"256\",\"Height\":\"800\",\"Fps\":\"25\",\"Gop\":\"10\"}"),
    // Konfigurasi aliran audio.
    Audio: tea.String("{\"Codec\":\"aac\",\"Samplerate\":\"44100\",\"Bitrate\":\"500\",\"Channels\":\"2\"}"),
    // Konfigurasi muxing.
    MuxConfig: tea.String("{\"Segment\":{\"Duration\":\"10\"}}"),
    // Konfigurasi transkoding umum.
    TransConfig: tea.String("{\"TransMode\":\"onepass\"}"),
  }
  runtime := &util.RuntimeOptions{}
  tryErr := func()(_e error) {
    defer func() {
      if r := tea.Recover(recover()); r != nil {
        _e = r
      }
    }()
    // Jika Anda menyalin kode ini untuk dijalankan, cetak nilai kembali dari panggilan API.
    _, _err = client.UpdateTemplateWithOptions(updateTemplateRequest, runtime)
    if _err != nil {
      return _err
    }

    return nil
  }()

  if tryErr != nil {
    var error = &tea.SDKError{}
    if _t, ok := tryErr.(*tea.SDKError); ok {
      error = _t
    } else {
      error.Message = tea.String(tryErr.Error())
    }
    // Kode berikut hanya untuk tujuan demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
    // Pesan error.
    fmt.Println(tea.StringValue(error.Message))
    // Alamat diagnosis.
    var data interface{}
    d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
    d.Decode(&data)
    if m, ok := data.(map[string]interface{}); ok {
      recommend, _ := m["Recommend"]
      fmt.Println(recommend)
    }
    _, _err = util.AssertAsString(error.Message)
    if _err != nil {
      return _err
    }
  }
  return _err
}


func main() {
  err := _main(tea.StringSlice(os.Args[1:]))
  if err != nil {
    panic(err)
  }
}

Delete a template

Panggil operasi DeleteTemplate untuk menghapus templat transkoding.

package main

import (
  "encoding/json"
  "strings"
  "fmt"
  "os"
  mts20140618  "github.com/alibabacloud-go/mts-20140618/v6/client"
  openapi  "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  util  "github.com/alibabacloud-go/tea-utils/v2/service"
  "github.com/alibabacloud-go/tea/tea"
)


// Deskripsi:
//
// Inisialisasi klien dengan Pasangan Kunci Akses.
//
// @return Client
//
// @throws Exception
func CreateClient () (_result *mts20140618.Client, _err error) {

  config := &openapi.Config{
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
    AccessKeyId: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
    AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
  }

  config.Endpoint = tea.String("mts.cn-hangzhou.aliyuncs.com")
  _result = &mts20140618.Client{}
  _result, _err = mts20140618.NewClient(config)
  return _result, _err
}

func _main (args []*string) (_err error) {
  client, _err := CreateClient()
  if _err != nil {
    return _err
  }

  deleteTemplateRequest := &mts20140618.DeleteTemplateRequest{
    // ID templat transkoding kustom yang akan dihapus.
    TemplateId: tea.String("16f01ad6175e4230ac42bb5182cd****"),
  }
  runtime := &util.RuntimeOptions{}
  tryErr := func()(_e error) {
    defer func() {
      if r := tea.Recover(recover()); r != nil {
        _e = r
      }
    }()
    // Jika Anda menyalin kode ini untuk dijalankan, cetak nilai kembali dari panggilan API.
    _, _err = client.DeleteTemplateWithOptions(deleteTemplateRequest, runtime)
    if _err != nil {
      return _err
    }

    return nil
  }()

  if tryErr != nil {
    var error = &tea.SDKError{}
    if _t, ok := tryErr.(*tea.SDKError); ok {
      error = _t
    } else {
      error.Message = tea.String(tryErr.Error())
    }
    // Kode berikut hanya untuk tujuan demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
    // Pesan error.
    fmt.Println(tea.StringValue(error.Message))
    // Alamat diagnosis.
    var data interface{}
    d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
    d.Decode(&data)
    if m, ok := data.(map[string]interface{}); ok {
      recommend, _ := m["Recommend"]
      fmt.Println(recommend)
    }
    _, _err = util.AssertAsString(error.Message)
    if _err != nil {
      return _err
    }
  }
  return _err
}


func main() {
  err := _main(tea.StringSlice(os.Args[1:]))
  if err != nil {
    panic(err)
  }
}

Query templates by ID

Panggil operasi QueryTemplateList untuk melakukan kueri terhadap templat berdasarkan ID.

package main

import (
  "encoding/json"
  "strings"
  "fmt"
  "os"
  mts20140618  "github.com/alibabacloud-go/mts-20140618/v6/client"
  openapi  "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  util  "github.com/alibabacloud-go/tea-utils/v2/service"
  "github.com/alibabacloud-go/tea/tea"
)


// Deskripsi:
//
// Inisialisasi klien dengan Pasangan Kunci Akses.
//
// @return Client
//
// @throws Exception
func CreateClient () (_result *mts20140618.Client, _err error) {

  config := &openapi.Config{
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
    AccessKeyId: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
    AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
  }
  // Untuk informasi selengkapnya mengenai titik akhir, lihat https://api.aliyun.com/product/Mts
  config.Endpoint = tea.String("mts.cn-hangzhou.aliyuncs.com")
  _result = &mts20140618.Client{}
  _result, _err = mts20140618.NewClient(config)
  return _result, _err
}

func _main (args []*string) (_err error) {
  client, _err := CreateClient()
  if _err != nil {
    return _err
  }

  queryTemplateListRequest := &mts20140618.QueryTemplateListRequest{
    // Daftar ID templat yang akan dikueri.
    TemplateIds: tea.String("16f01ad6175e4230ac42bb5182cd****,88c6ca184c0e424d5w5b665e2a12****"),
  }
  runtime := &util.RuntimeOptions{}
  tryErr := func()(_e error) {
    defer func() {
      if r := tea.Recover(recover()); r != nil {
        _e = r
      }
    }()
    // Jika Anda menyalin kode ini untuk dijalankan, cetak nilai kembali dari panggilan API.
    _, _err = client.QueryTemplateListWithOptions(queryTemplateListRequest, runtime)
    if _err != nil {
      return _err
    }

    return nil
  }()

  if tryErr != nil {
    var error = &tea.SDKError{}
    if _t, ok := tryErr.(*tea.SDKError); ok {
      error = _t
    } else {
      error.Message = tea.String(tryErr.Error())
    }
    // Kode berikut hanya untuk tujuan demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
    // Pesan error.
    fmt.Println(tea.StringValue(error.Message))
    // Alamat diagnosis.
    var data interface{}
    d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
    d.Decode(&data)
    if m, ok := data.(map[string]interface{}); ok {
      recommend, _ := m["Recommend"]
      fmt.Println(recommend)
    }
    _, _err = util.AssertAsString(error.Message)
    if _err != nil {
      return _err
    }
  }
  return _err
}


func main() {
  err := _main(tea.StringSlice(os.Args[1:]))
  if err != nil {
    panic(err)
  }
}

Query templates by state

Panggil operasi SearchTemplate untuk melakukan kueri terhadap templat berdasarkan status.

package main

import (
  "encoding/json"
  "strings"
  "fmt"
  "os"
  mts20140618  "github.com/alibabacloud-go/mts-20140618/v6/client"
  openapi  "github.com/alibabacloud-go/darabonba-openapi/v2/client"
  util  "github.com/alibabacloud-go/tea-utils/v2/service"
  "github.com/alibabacloud-go/tea/tea"
)


// Deskripsi:
//
// Inisialisasi klien dengan Pasangan Kunci Akses.
//
// @return Client
//
// @throws Exception
func CreateClient () (_result *mts20140618.Client, _err error) {

  config := &openapi.Config{
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
    AccessKeyId: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")),
    // Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
    AccessKeySecret: tea.String(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")),
  }
  // Untuk informasi selengkapnya mengenai titik akhir, lihat https://api.aliyun.com/product/Mts
  config.Endpoint = tea.String("mts.cn-hangzhou.aliyuncs.com")
  _result = &mts20140618.Client{}
  _result, _err = mts20140618.NewClient(config)
  return _result, _err
}

func _main (args []*string) (_err error) {
  client, _err := CreateClient()
  if _err != nil {
    return _err
  }

  searchTemplateRequest := &mts20140618.SearchTemplateRequest{
    // Status templat transkoding yang akan dicari.
    State: tea.String("Normal"),
  }
  runtime := &util.RuntimeOptions{}
  tryErr := func()(_e error) {
    defer func() {
      if r := tea.Recover(recover()); r != nil {
        _e = r
      }
    }()
    // Jika Anda menyalin kode ini untuk dijalankan, cetak nilai kembali dari panggilan API.
    _, _err = client.SearchTemplateWithOptions(searchTemplateRequest, runtime)
    if _err != nil {
      return _err
    }

    return nil
  }()

  if tryErr != nil {
    var error = &tea.SDKError{}
    if _t, ok := tryErr.(*tea.SDKError); ok {
      error = _t
    } else {
      error.Message = tea.String(tryErr.Error())
    }
    // Kode berikut hanya untuk tujuan demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
    // Pesan error.
    fmt.Println(tea.StringValue(error.Message))
    // Alamat diagnosis.
    var data interface{}
    d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
    d.Decode(&data)
    if m, ok := data.(map[string]interface{}); ok {
      recommend, _ := m["Recommend"]
      fmt.Println(recommend)
    }
    _, _err = util.AssertAsString(error.Message)
    if _err != nil {
      return _err
    }
  }
  return _err
}


func main() {
  err := _main(tea.StringSlice(os.Args[1:]))
  if err != nil {
    panic(err)
  }
}