文档

媒体信息

本文提供了媒体处理Go SDK媒体信息相关功能的API调用示例,包含提交媒体信息作业、查询媒体信息作业。

前提条件

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

提交媒体信息作业

调用SubmitMediaInfoJob接口,完成提交媒体信息作业功能。

说明
  • 通过SDK提交作业时Object需经URLEncode,否则会导致作业失败。更多信息,请参见URL Encoding说明

  • 请按照规范填写文件名称,否则会找不到文件导致作业失败。详细名称规范,请参见参数详情

  • 建议您在提交媒体信息作业时记录任务的JobID,便于后续进行相关操作。

/**
 * 提交媒体信息作业
 * @param client
 * @return
 */
func SubmitMediaInfoJob(client *mts.Client) (*mts.SubmitMediaInfoJobResponse, error) {
	request := mts.CreateSubmitMediaInfoJobRequest()

	input := map[string]string{
		"Bucket":   "<your bucket name>",
		"Location": "oss-cn-beijing",
		"Object":   url.QueryEscape("mps-test/demo/test.mp4"),
	}
	inputJson, _ := json.Marshal(input)
	request.Input = string(inputJson)
	request.PipelineId = ""
	//true 异步作业(推荐)  false 同步作业
	request.Async = requests.NewBoolean(true)
	return client.SubmitMediaInfoJob(request)
}

查询媒体信息作业

调用QueryMediaInfoJobList接口,完成查询媒体信息作业功能。

/**
 * 查询媒体信息作业
 * @param client
 * @return
 */
func QueryMediaInfoJobList(client *mts.Client) (*mts.QueryMediaInfoJobListResponst, error) {
	request := mts.CreateQueryMediaInfoJobListRequest() 
	//支持查询多个jobID 一次最多查询10个,使用半角逗号(,)分隔,通过submitMediaInfoJob获取
	request.MediaInfoJobIds = "1267632d444e14796fad9****"
	return client.QueryMediaInfoJobList(request)
}

完整代码

package main

import (
	"encoding/json"
	"fmt"
	"net/url"

	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
	mts "github.com/aliyun/alibaba-cloud-sdk-go/services/mts"
)

/**
 * 提交媒体信息作业
 * @param client
 * @return
 */
func SubmitMediaInfoJob(client *mts.Client) (*mts.SubmitMediaInfoJobResponse, error) {
	request := mts.CreateSubmitMediaInfoJobRequest()

	input := map[string]string{
		"Bucket":   "<your bucket name>",
		"Location": "oss-cn-beijing",
		"Object":   url.QueryEscape("mps-test/demo/test.mp4"),
	}
	inputJson, _ := json.Marshal(input)
	request.Input = string(inputJson)
	request.PipelineId = pipelineId
	//true 异步作业(推荐)  false 同步作业
	request.Async = requests.NewBoolean(true)
	return client.SubmitMediaInfoJob(request)
}

/**
 * 查询媒体信息作业
 * @param client
 * @return
 */
func QueryMediaInfoJobList(client *mts.Client) (*mts.QueryMediaInfoJobListResponse, error) {
	request := mts.CreateQueryMediaInfoJobListRequest()
	//支持查询多个jobID 一次最多查询10个,使用半角逗号(,)分隔,通过submitMediaInfoJob获取
	request.MediaInfoJobIds = "1267632d444e14796fad9****"
	return client.QueryMediaInfoJobList(request)
}

const (
	pipelineId = "bee7a5bf9d796fafe40a0cbf****"
)

func main() {
	client, err := InitMtsClient()
	if err != nil {
		panic(err)
	}

	response, err := SubmitMediaInfoJob(client)
	if err != nil {
		panic(err)
	}
	fmt.Println("RequestId is:", response.RequestId)
	fmt.Println("JobId is:", response.MediaInfoJob.JobId)

	// response2, err := QueryMediaInfoJobList(client)
	// if err != nil {
	// 	panic(err)
	// }
	// fmt.Println("RequestId is:", response2.RequestId)
	// jsonData, err := json.Marshal(response2.MediaInfoJobList)
	// fmt.Println("MediaInfoJobList is:", jsonData)
}
  • 本页导读 (1)
文档反馈