转码模板
本文提供了Go SDK转码模板相关功能的API调用示例,包含添加模板、修改模板、删除模板、查询模板。
前提条件
使用前请先初始化客户端,详细说明请参见初始化。
添加模板
调用AddTemplate接口添加模板。
/**
* 创建转码模板
* @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)
}