V2.0 SDK 是火山引擎新一代的 SDK,具有统一的 SDK 架构和更规范的 API 设计,便于维护和使用。视频点播计划将 OpenAPI 逐步迁移至 V2.0 SDK。在迁移期间,您需要同时使用两个版本的 SDK。迁移建议如下:
本文为您介绍 V2.0 SDK 当前支持的 OpenAPI 列表,并提供接口调用示例,帮助您使用新版 SDK。
目前 V2.0 SDK 支持以下视频点播 OpenAPI:
功能模块 | OpenAPI |
---|---|
媒体处理 |
编程语言 | 源码地址 | 集成文档 |
---|---|---|
Java | ||
Python | ||
PHP | ||
Go | ||
Node.js | 暂不支持 |
本节以 StartExecution - 提交媒体处理任务接口为例,展示使用 VOD SDK V2.0 时如何调用点播接口。
import com.volcengine.ApiClient;
import com.volcengine.ApiException;
import com.volcengine.sign.Credentials;
import com.volcengine.vod20250101.Vod20250101Api;
import com.volcengine.vod20250101.model.*;
public class TestVod20250101 {
public static void main(String[] args) throws Exception {
// 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK) 和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
// SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
// 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
String ak = "your ak"; // 替换成你自己的 AK
String sk = "your sk"; // 替换成你自己的 SK
String region = "cn-north-1";
ApiClient apiClient = new ApiClient()
.setCredentials(Credentials.getCredentials(ak, sk))
.setRegion(region);
Vod20250101Api vod20250101Api = new Vod20250101Api(apiClient);
StartExecutionRequest request = new StartExecutionRequest();
InputForStartExecutionInput input = new InputForStartExecutionInput();
input.setType("Vid");
input.setVid("v1234567890test1234567890");
request.setInput(input);
OperationForStartExecutionInput operation = new OperationForStartExecutionInput();
operation.setType("Task");
TaskForStartExecutionInput task = new TaskForStartExecutionInput();
task.setType("Highlight");
HighlightForStartExecutionInput highlight = new HighlightForStartExecutionInput();
task.setHighlight(highlight);
operation.setTask(task);
request.setOperation(operation);
ControlForStartExecutionInput control = new ControlForStartExecutionInput();
control.setClientToken("testToken");
request.setControl(control);
try {
StartExecutionResponse response = vod20250101Api.startExecution(request);
System.out.println(response);
} catch (ApiException e) {
System.out.println(e.getResponseBody());
}
}
}
from __future__ import print_function
import volcenginesdkvod20250101
import volcenginesdkcore
from pprint import pprint
from volcenginesdkcore.rest import ApiException
if __name__ == '__main__':
configuration = volcenginesdkcore.Configuration()
# 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK) 和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
# SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
# 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
configuration.ak = "Your AK"
configuration.sk = "Your SK"
configuration.region = "cn-north-1"
configuration.client_side_validation = True
# set default configuration
volcenginesdkcore.Configuration.set_default(configuration)
# use global default configuration
api_instance = volcenginesdkvod20250101.VOD20250101Api()
# use custom configuration
# api_instance = volcenginesdkvod20250101.VOD20250101Api(volcenginesdkcore.ApiClient(configuration))
try:
resp = api_instance.start_execution(
volcenginesdkvod20250101.StartExecutionRequest(
input=volcenginesdkvod20250101.InputForStartExecutionInput(
type="Vid",
vid="v1234567890test1234567890",
),
operation=volcenginesdkvod20250101.OperationForStartExecutionInput(
type="Task",
task=volcenginesdkvod20250101.TaskForStartExecutionInput(
type="Highlight",
highlight=volcenginesdkvod20250101.HighlightForStartExecutionInput()
)
),
control=volcenginesdkvod20250101.ControlForStartExecutionInput(
client_token="testToken"
)
))
pprint(resp)
except ApiException as e:
print("Exception when calling VOD20250101Api->start_execution: %s\n" % e)
<?php
require(__DIR__ . '/vendor/autoload.php');
$config = \Volcengine\Common\Configuration::getDefaultConfiguration()
// 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK) 和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
// SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
// 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
->setAk("your ak")
->setSk("your sk")
->setRegion("cn-north-1");
$apiInstance = new \Volcengine\Vod20250101\API\VOD20250101Api(
/*
* If you want to use a custom HTTP client, pass your client which implements `GuzzleHttp\ClientInterface`.
* This is optional; `GuzzleHttp\Client` will be used as default.
*/
new GuzzleHttp\Client(),
$config
);
$body = new \Volcengine\Vod20250101\Model\StartExecutionRequest();
$input = new \Volcengine\Vod20250101\Model\InputForStartExecutionInput();
$input->setType("Vid");
$input->setVid("v1234567890test1234567890");
$body->setInput($input);
$operation = new \Volcengine\Vod20250101\Model\OperationForStartExecutionInput();
$operation->setType("Task");
$task = new \Volcengine\Vod20250101\Model\TaskForStartExecutionInput();
$task->setType("Highlight");
$highlight = new \Volcengine\Vod20250101\Model\HighlightForStartExecutionInput();
$task->setHighlight($highlight);
$operation->setTask($task);
$body->setOperation($operation);
$control = new \Volcengine\Vod20250101\Model\ControlForStartExecutionInput();
$control->setClientToken("testToken");
$body->setControl($control);
try {
$result = $apiInstance->startExecution($body);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling VOD20250101Api->startExecution: ', $e->getMessage(), PHP_EOL;
}
?>
package main
import (
"fmt"
"github.com/volcengine/volcengine-go-sdk/service/vod20250101"
"github.com/volcengine/volcengine-go-sdk/volcengine"
"github.com/volcengine/volcengine-go-sdk/volcengine/credentials"
"github.com/volcengine/volcengine-go-sdk/volcengine/session"
)
func main() {
var (
ak string
sk string
region string
config *volcengine.Config
sess *session.Session
client *vod20250101.VOD20250101
resp *vod20250101.StartExecutionOutput
err error
)
// 请在环境变量或本地 ~/.volc/config 文件中配置您的 Access Key ID (AK))和 Secret Access Key (SK)。详细说明,请见 https://www.volcengine.com/docs/4/65641。
// SDK 会自动从环境变量或 ~/.volc/config 文件中读取 AK 和 SK。
// 在测试过程中,您可以使用以下代码片段。但是请勿直接将 AK 和 SK 保存到工程代码中,否则可能导致 AK 和 SK 泄露,威胁您账号下所有资源的安全。
ak = "your ak"
sk = "your sk"
region = "cn-north-1"
config = volcengine.NewConfig().
WithCredentials(credentials.NewStaticCredentials(ak, sk, "")).
WithRegion(region)
sess, err = session.NewSession(config)
if err != nil {
panic(err)
}
client = vod20250101.New(sess)
resp, err = client.StartExecution(&vod20250101.StartExecutionInput{
Input: &vod20250101.InputForStartExecutionInput{
Type: volcengine.String("Vid"),
Vid: volcengine.String("v1234567890test1234567890"),
},
Operation: &vod20250101.OperationForStartExecutionInput{
Type: volcengine.String("Task"),
Task: &vod20250101.TaskForStartExecutionInput{
Type: volcengine.String("Highlight"),
Highlight: &vod20250101.HighlightForStartExecutionInput{},
},
},
Control: &vod20250101.ControlForStartExecutionInput{
ClientToken: volcengine.String("testToken"),
},
})
if err != nil {
panic(err)
}
fmt.Println(resp)
}