You need to enable JavaScript to run this app.
导航

离线转码

最近更新时间2024.02.02 10:32:53

首次发布时间2024.01.31 14:24:22

阅读本文,您可以获取 Go SDK 离线转码的接口调用示例,实现快速开发。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Go SDK 的安装及初始化操作。

调用示例

本节为您介绍离线转码相关接口的功能和调用示例。

创建任务队列

您可以调用 CreateImageTranscodeQueue 接口在指定服务下创建离线转码任务队列。详细的参数说明可参见 CreateImageTranscodeQueue 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_CreateImageTranscodeQueue(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.CreateImageTranscodeQueueBody{}

	resp, err := instance.CreateImageTranscodeQueue(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

删除任务队列

您可以调用 DeleteImageTranscodeQueue 接口删除指定的任务队列。详细的参数说明可参见 DeleteImageTranscodeQueue 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_DeleteImageTranscodeQueue(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.DeleteImageTranscodeQueueBody{}

	resp, err := instance.DeleteImageTranscodeQueue(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

更新任务队列

您可以调用 UpdateImageTranscodeQueue 接口更新指定任务队列的离线转码配置,如队列名称、队列描述和回调配置等。详细的参数说明可参见 UpdateImageTranscodeQueue 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_UpdateImageTranscodeQueue(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.UpdateImageTranscodeQueueBody{}

	resp, err := instance.UpdateImageTranscodeQueue(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

更新任务队列状态

您可以调用 UpdateImageTranscodeQueueStatus 接口更新指定任务队列的状态,如队列名称、队列描述和回调配置等。详细的参数说明可参见 UpdateImageTranscodeQueueStatus 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_UpdateImageTranscodeQueueStatus(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.UpdateImageTranscodeQueueStatusBody{}

	resp, err := instance.UpdateImageTranscodeQueueStatus(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

获取任务队列

您可以调用 GetImageTranscodeQueues 接口获取当前账号下已创建的任务队列详情。详细的参数说明可参见 GetImageTranscodeQueues 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_GetImageTranscodeQueues(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetImageTranscodeQueuesQuery{}

	resp, err := instance.GetImageTranscodeQueues(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

提交转码任务

您可以调用 CreateImageTranscodeTask 接口向状态为运行中的任务队列,提交以一条或多条 URL/URI 资源转码执行任务组成的转码任务。详细的参数说明可参见 CreateImageTranscodeTask 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_CreateImageTranscodeTask(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.CreateImageTranscodeTaskBody{}

	resp, err := instance.CreateImageTranscodeTask(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

获取任务执行详情

您可以调用 GetImageTranscodeDetails 接口获取指定时间段内的指定队列的转码任务详情。详细的参数说明可参见 GetImageTranscodeDetails 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_GetImageTranscodeDetails(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetImageTranscodeDetailsQuery{}

	resp, err := instance.GetImageTranscodeDetails(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

手动触发回调

您可以调用 CreateImageTranscodeCallback 接口指定任务条目 ID,手动向该任务队列配置的回调 URL 发送回调信息。详细的参数说明可参见 CreateImageTranscodeCallback 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_CreateImageTranscodeCallback(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.CreateImageTranscodeCallbackBody{}

	resp, err := instance.CreateImageTranscodeCallback(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}

删除任务执行详情

您可以调用 DeleteImageTranscodeDetail 接口通过指定任务条目 ID,删除提交任务内对应的该条 URL/URI。详细的参数说明可参见 DeleteImageTranscodeDetail 接口文档。

接口调用示例如下所示。

package imagex_test

import (
	"context"
	"encoding/json"
	"fmt"
	"testing"

	"github.com/volcengine/volc-sdk-golang/base"
	imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_DeleteImageTranscodeDetail(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.DeleteImageTranscodeDetailBody{}

	resp, err := instance.DeleteImageTranscodeDetail(context.Background(), param)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		t, _ := json.Marshal(resp)
		fmt.Printf("success %v", string(t))
	}
}