文档

转码模板

本文提供了Go SDK转码模板相关功能的API调用示例,包含添加模板、修改模板、删除模板、查询模板。

前提条件

使用前请先初始化客户端,详细说明请参见初始化

添加模板

调用AddTemplate接口添加模板。

说明
  • 如果您在添加模板时遇到The resource "Template" quota has been used up错误,代表您的转码模板配额已用完,可以通过提交工单申请对应模板配额。

  • 建议您在添加模板后记录返回的转码模板ID,您也可以通过控制台来创建、获取转码模板。详细说明,请参见转码模板

/**
 * 创建转码模板
 * @param client
 * @return
 */
 func AddTemplate(client *mts.Client) (*mts.AddTemplateResponse, error) {
	request := mts.CreateAddTemplateRequest()
	request.Name = "test-template"
	//container结构
	container := map[string]string {
		"Format": "mp4",
	}
	containerJson, _ := json.Marshal(container)
	request.Container = string(containerJson)
	//video结构
	video := map[string]string {
		"Codec": "H.264",
		"Profile": "high",
		"Bitrate": "500",
		"Width": "1280",
		"Height": "720",
		"Fps": "25",
		"Gop": "300",
	}
	videoJson, _ := json.Marshal(video)
	request.Video = string(videoJson)
	//audio结构
	audio := map[string]string {
		"Codec": "AAC",
		"Samplerate": "44100",
		"Bitrate": "500",
		"Channels": "2",
	}
	audioJson, _ := json.Marshal(audio)
	request.Audio = string(audioJson)
	//transConfig结构
	transConfig := map[string]string {
		"TransMode": "onepass",
	}
	transConfigJson, _ := json.Marshal(transConfig)
	request.TransConfig = string(transConfigJson)

	return client.AddTemplate(request)
 }

更新模板配置

调用UpdateTemplate接口,更新转码模板配置。

/**
 * 更新模板配置
 * @param client
 * @return
 */
 func UpdateTemplate(client *mts.Client) (*mts.UpdateTemplateResponse, error) {
	request := mts.CreateUpdateTemplateRequest()
	//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建后,记录TemplateId
	request.TemplateId = "606179a72c64ee2b6****"
	request.Name = "update-template"
	//container结构
	container := map[string]string {
		"Format": "m3u8",
	}
	containerJson, _ := json.Marshal(container)
	request.Container = string(containerJson)
	//video结构
	video := map[string]string {
		"Codec": "H.264",
		"Profile": "high",
		"Bitrate": "500",
		"Width": "1280",
		"Height": "720",
		"Fps": "25",
		"Gop": "300",
	}
	videoJson, _ := json.Marshal(video)
	request.Video = string(videoJson)
	//audio结构
	audio := map[string]string {
		"Codec": "AAC",
		"Samplerate": "44100",
		"Bitrate": "500",
		"Channels": "2",
	}
	audioJson, _ := json.Marshal(audio)
	request.Audio = string(audioJson)
	//transConfig结构
	transConfig := map[string]string {
		"TransMode": "onepass",
		"IsCheckReso": "true",
	}
	transConfigJson, _ := json.Marshal(transConfig)
	request.TransConfig = string(transConfigJson)
	//muxConfig结构
	muxConfig := map[string]string {
		"Segment": `{"Duration":"10"}`
	}
	muxConfigJson, _ := json.Marshal(muxConfig)
	request.MuxConfig = string(muxConfigJson)
	return client.UpdateTemplate(request)
 }

删除模板

调用DeleteTemplate接口删除转码模板。

/**
 * 删除转码模板
 * @param client
 * @return
 */
 func DeleteTemplate(client *mts.Client) (*mts.DeleteTemplateResponse, error) {
	request := mts.CreateDeleteTemplateRequest()
	//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建后,记录TemplateId
	request.TemplateId = "606179a72c64ee2b6****"
	return client.DeleteTemplate(request)
 }

通过ID查询模板

调用QueryTemplateList接口通过ID查询模板。

/**
 * 通过ID 查询模板
 * @param client
 * @return
 */
 func QueryTemplateList(client *mts.Client) (*mts.QueryTemplateListResponse, error) {
	request := mts.CreateQueryTemplateListRequest()
	//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建后,记录TemplateId
	//支持查询多个模板ID,一次最多查询10个,使用半角逗号(,)分隔
	request.TemplateIds = "81767eb87d36aed796****";
	return client.QueryTemplateList(request)
 }

通过状态查询模板

调用SearchTemplate接口通过状态查询模板。

/**
 * 通过状态查询模板
 * @param client
 * @return
 */
 func SearchTemplate(client *mts.Client) (*mts.SearchTemplateResponse, error) {
	request := mts.CreateSearchTemplateRequest()
   //模板状态  All:全部模板,Normal:正常状态,Deleted:已删除状态
	request.State = "Normal";
	return client.SearchTemplate(request)
 }

完整代码

package main

import (
	"encoding/json"
	"fmt"
	mts "github.com/aliyun/alibaba-cloud-sdk-go/services/mts"
)

/**
 * 创建转码模板
 * @param client
 * @return
 */
 func AddTemplate(client *mts.Client) (*mts.AddTemplateResponse, error) {
	request := mts.CreateAddTemplateRequest()
	request.Name = "test-template"
	//container结构
	container := map[string]string {
		"Format": "mp4",
	}
	containerJson, _ := json.Marshal(container)
	request.Container = string(containerJson)
	//video结构
	video := map[string]string {
		"Codec": "H.264",
		"Profile": "high",
		"Bitrate": "500",
		"Width": "1280",
		"Height": "720",
		"Fps": "25",
		"Gop": "300",
	}
	videoJson, _ := json.Marshal(video)
	request.Video = string(videoJson)
	//audio结构
	audio := map[string]string {
		"Codec": "AAC",
		"Samplerate": "44100",
		"Bitrate": "500",
		"Channels": "2",
	}
	audioJson, _ := json.Marshal(audio)
	request.Audio = string(audioJson)
	//transConfig结构
	transConfig := map[string]string {
		"TransMode": "onepass",
	}
	transConfigJson, _ := json.Marshal(transConfig)
	request.TransConfig = string(transConfigJson)

	return client.AddTemplate(request)
 }

/**
 * 更新模板配置
 * @param client
 * @return
 */
 func UpdateTemplate(client *mts.Client) (*mts.UpdateTemplateResponse, error) {
	request := mts.CreateUpdateTemplateRequest()
	//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建
	request.TemplateId = "606179a72c64ee2b6****"
	request.Name = "update-template"
	//container结构
	container := map[string]string {
		"Format": "m3u8",
	}
	containerJson, _ := json.Marshal(container)
	request.Container = string(containerJson)
	//video结构
	video := map[string]string {
		"Codec": "H.264",
		"Profile": "high",
		"Bitrate": "500",
		"Width": "1280",
		"Height": "720",
		"Fps": "25",
		"Gop": "300",
	}
	videoJson, _ := json.Marshal(video)
	request.Video = string(videoJson)
	//audio结构
	audio := map[string]string {
		"Codec": "AAC",
		"Samplerate": "44100",
		"Bitrate": "500",
		"Channels": "2",
	}
	audioJson, _ := json.Marshal(audio)
	request.Audio = string(audioJson)
	//transConfig结构
	transConfig := map[string]string {
		"TransMode": "onepass",
		"IsCheckReso": "true",
	}
	transConfigJson, _ := json.Marshal(transConfig)
	request.TransConfig = string(transConfigJson)
	//muxConfig结构
	muxConfig := map[string]string {
		"Segment": `{"Duration":"10"}`,
	}
	muxConfigJson, _ := json.Marshal(muxConfig)
	request.MuxConfig = string(muxConfigJson)
	return client.UpdateTemplate(request)
 }

/**
 * 删除转码模板
 * @param client
 * @return
 */
 func DeleteTemplate(client *mts.Client) (*mts.DeleteTemplateResponse, error) {
	request := mts.CreateDeleteTemplateRequest()
	//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建后,记录TemplateId
	request.TemplateId = "606179a72c64ee2b6****"
	return client.DeleteTemplate(request)
 }

/**
 * 通过ID 查询模板
 * @param client
 * @return
 */
 func QueryTemplateList(client *mts.Client) (*mts.QueryTemplateListResponse, error) {
	request := mts.CreateQueryTemplateListRequest()
	//转码模板ID, 可以在MPS控制台>模板管理>转码模板查看,或通过addTemplate创建后,记录TemplateId
	//支持查询多个模板ID 一次最多查询10个,使用半角逗号(,)分隔
	request.TemplateIds = "8176Deletedeb87d36ae****";
	return client.QueryTemplateList(request)
 }

/**
 * 通过状态查询模板
 * @param client
 * @return
 */
 func SearchTemplate(client *mts.Client) (*mts.SearchTemplateResponse, error) {
	request := mts.CreateSearchTemplateRequest()
   //模板状态  All:全部模板,Normal:正常状态,Deleted:已删除状态
	request.State = "Normal";
	return client.SearchTemplate(request)
 }

func main() {
	//初始化调用 client
	client, err := InitMtsClient()
	if err != nil {
		panic(err)
	}
	response, err := AddTemplate(client)
	if err != nil {
		panic(err)
	}
	fmt.Println("RequestId is:", response.RequestId)
}
  • 本页导读 (1)
文档反馈