V2.0 SDK 是火山引擎新一代的 SDK,具有统一的 SDK 架构和更规范的 API 设计,便于维护和使用。视频点播计划将 OpenAPI 逐步迁移至 V2.0 SDK。在迁移期间,您需要同时使用两个版本的 SDK。迁移建议如下:
本文为您介绍 V2.0 SDK 当前支持的 OpenAPI 列表,并提供接口调用示例,帮助您使用新版 SDK。
目前 V2.0 SDK 支持以下视频点播 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) }