阅读本文,您可以获取 Go SDK 画质测评的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 Go SDK 的安装及初始化操作。
本节为您介绍画质测评相关接口的功能和调用示例。
您可以调用 CreateLiveVideoQualityAnalysisTask 接口创建画质评测任务。详细的参数说明可参见 CreateLiveVideoQualityAnalysisTask 接口文档。
接口调用示例如下所示。
package main import ( "context" "fmt" "os" "github.com/volcengine/volc-sdk-golang/base" live "github.com/volcengine/volc-sdk-golang/service/live/v20230101" ) func StringPtr(v string) *string { return &v } func Int32Ptr(v int32) *int32 { return &v } func main() { // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY service := live.NewInstance() service.SetCredential(base.Credentials{ AccessKeyID: os.Getenv("VOLC_ACCESSKEY"), SecretAccessKey: os.Getenv("VOLC_SECRETKEY"), }) body := &live.CreateLiveVideoQualityAnalysisTaskBody{ // 任务名称,默认为空,进行中任务名称不可重复,长度需小于 16 个字符。 Name: StringPtr(`test`), // 待测评流的播放地址,支持 FLV、HLS、RTMP 拉流地址。 SrcURL: `https://pull.example.com/live/example.flv`, // 画质测评的打点间隔,单位为秒,默认为 10,取值范围为 [3,10]。 Interval: Int32Ptr(5), // 测评任务持续时长,单位为秒,默认为 180,取值范围为 [60,300]。 Duration: Int32Ptr(300), } resp, err := service.CreateLiveVideoQualityAnalysisTask(context.Background(), body) if err != nil { fmt.Printf("error %v", err) } else { fmt.Printf("success %+v", resp) } }
您可以调用 ListLiveVideoQualityAnalysisTasks 接口查询画质评测任务列表。详细的参数说明可参见 ListLiveVideoQualityAnalysisTasks 接口文档。
接口调用示例如下所示。
package main import ( "context" "fmt" "os" "github.com/volcengine/volc-sdk-golang/base" live "github.com/volcengine/volc-sdk-golang/service/live/v20230101" ) func StringPtrs(vals []string) []*string { ptrs := make([]*string, len(vals)) for i := 0; i < len(vals); i++ { ptrs[i] = &vals[i] } return ptrs } func main() { // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY service := live.NewInstance() service.SetCredential(base.Credentials{ AccessKeyID: os.Getenv("VOLC_ACCESSKEY"), SecretAccessKey: os.Getenv("VOLC_SECRETKEY"), }) body := &live.ListLiveVideoQualityAnalysisTasksBody{ // 查询数据的页码,取值范围为正整数。 PageNum: 1, // 每页显示的数据条数,最大是为 1000。 PageSize: 10, } // 查询的任务名称列表,默认为空,表示查询结果不对任务名称进行筛选。 // note: // Name 和 ID 不可同时传入。 Names := []string{"test"} body.Names = StringPtrs(Names) // 查询的任务 ID 列表,默认为空,表示查询结果不对任务 ID 进行筛选。 // note: // Name 和 ID 不可同时传入。 IDs := []string{"23123***55t523"} body.IDs = StringPtrs(IDs) resp, err := service.ListLiveVideoQualityAnalysisTasks(context.Background(), body) if err != nil { fmt.Printf("error %v", err) } else { fmt.Printf("success %+v", resp) } }
您可以调用 GetLiveVideoQualityAnalysisTaskDetail 接口查询单个画质测评任务详情。详细的参数说明可参见 GetLiveVideoQualityAnalysisTaskDetail 接口文档。
接口调用示例如下所示。
package main import ( "context" "fmt" "os" "github.com/volcengine/volc-sdk-golang/base" live "github.com/volcengine/volc-sdk-golang/service/live/v20230101" ) func StringPtr(v string) *string { return &v } func main() { // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY service := live.NewInstance() service.SetCredential(base.Credentials{ AccessKeyID: os.Getenv("VOLC_ACCESSKEY"), SecretAccessKey: os.Getenv("VOLC_SECRETKEY"), }) body := &live.GetLiveVideoQualityAnalysisTaskDetailBody{ // 查询的任务名称。 // note: // Name 和 ID 二选一必填。 Name: StringPtr(`test`), // 查询的任务 ID。 // note: // Name 和 ID 二选一必填。 ID: StringPtr(`cbxmc`), } resp, err := service.GetLiveVideoQualityAnalysisTaskDetail(context.Background(), body) if err != nil { fmt.Printf("error %v", err) } else { fmt.Printf("success %+v", resp) } }
您可以调用 DeleteLiveVideoQualityAnalysisTask 接口删除画质测评任务。详细的参数说明可参见 DeleteLiveVideoQualityAnalysisTask 接口文档。
接口调用示例如下所示。
package main import ( "context" "fmt" "os" "github.com/volcengine/volc-sdk-golang/base" live "github.com/volcengine/volc-sdk-golang/service/live/v20230101" ) func StringPtr(v string) *string { return &v } func main() { // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY service := live.NewInstance() service.SetCredential(base.Credentials{ AccessKeyID: os.Getenv("VOLC_ACCESSKEY"), SecretAccessKey: os.Getenv("VOLC_SECRETKEY"), }) body := &live.DeleteLiveVideoQualityAnalysisTaskBody{ // 待删除任务的任务名称。 // note: // Name 和 ID 二选一必填。 Name: StringPtr(`test`), // 待删除任务的任务 ID。 // note: // Name 和 ID 二选一必填。 ID: StringPtr(`cbxmc`), } resp, err := service.DeleteLiveVideoQualityAnalysisTask(context.Background(), body) if err != nil { fmt.Printf("error %v", err) } else { fmt.Printf("success %+v", resp) } }