package org.example.ListVideoConvertTemplates;
import com.volcengine.tos.TOSV2;
import com.volcengine.tos.TOSV2ClientBuilder;
import com.volcengine.tos.TosClientException;
import com.volcengine.tos.TosServerException;
import com.volcengine.tos.comm.common.*;
import com.volcengine.tos.model.bucket.*;
import com.volcengine.tos.model.object.*;
public class ListVideoConvertTemplatesExample {
public static void main(String[] args) {
String endpoint = System.getenv("TOS_ENDPOINT");
String region = System.getenv("TOS_REGION");
String accessKey = System.getenv("TOS_ACCESS_KEY");
String secretKey = System.getenv("TOS_SECRET_KEY");
String bucketName = System.getenv("TOS_BUCKET");
TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey);
ListVideoConvertTemplatesInput input = ListVideoConvertTemplatesInput.builder()
ListVideoConvertTemplatesOutput output = tos.listVideoConvertTemplates(input);
System.out.println("列举视频转码模板成功");
if (output.getRequestInfo() != null) {
System.out.println("RequestID: " + output.getRequestInfo().getRequestId());
System.out.println("StatusCode: " + output.getRequestInfo().getStatusCode());
java.util.List<VideoConvertTemplate> templates = output.getVideoConvertTemplates();
if (templates != null && !templates.isEmpty()) {
System.out.println("找到 " + templates.size() + " 个视频转码模板:");
for (VideoConvertTemplate template : templates) {
System.out.println("\n模板信息:");
System.out.println(" ID: " + template.getId());
System.out.println(" 名称: " + template.getName());
System.out.println(" 标签: " + template.getTag());
Transcode transcodeConfig = template.getTranscodeConfig();
if (transcodeConfig != null) {
System.out.println(" 转码配置:");
Container container = transcodeConfig.getContainer();
if (container != null) {
System.out.println(" 容器配置:");
System.out.println(" 容器格式: " + container.getFormat());
ClipConfig clipConfig = container.getClipConfig();
if (clipConfig != null) {
System.out.println(" 切片时长: " + clipConfig.getDuration());
Video video = transcodeConfig.getVideo();
System.out.println(" 视频参数:");
System.out.println(" 编码格式: " + video.getCodec());
System.out.println(" 分辨率: " + video.getWidth() + "x" + video.getHeight());
System.out.println(" 码率: " + video.getBitRate());
System.out.println(" 帧率: " + video.getFps());
System.out.println(" 像素格式: " + video.getPixFmt());
System.out.println(" 是否移除视频流: " + video.getRemove());
Audio audio = transcodeConfig.getAudio();
System.out.println(" 音频参数:");
System.out.println(" 编码格式: " + audio.getCodec());
System.out.println(" 码率: " + audio.getBitRate());
System.out.println(" 采样率: " + audio.getSampleRate());
System.out.println(" 声道数: " + audio.getChannels());
System.out.println(" 采样格式: " + audio.getSampleFormat());
System.out.println(" 是否移除音频流: " + audio.getRemove());
TimeInterval timeInterval = transcodeConfig.getTimeInterval();
if (timeInterval != null) {
System.out.println(" 时间区间:");
System.out.println(" 起始时间(毫秒): " + timeInterval.getStart());
System.out.println(" 持续时间(毫秒): " + timeInterval.getDuration());
System.out.println("未找到视频转码模板");
} catch (TosClientException e) {
System.out.println("操作失败");
System.out.println("Message: " + e.getMessage());
if (e.getCause() != null) {
e.getCause().printStackTrace();
} catch (TosServerException e) {
System.out.println("操作失败");
System.out.println("StatusCode: " + e.getStatusCode());
System.out.println("Code: " + e.getCode());
System.out.println("Message: " + e.getMessage());
System.out.println("RequestID: " + e.getRequestID());
System.out.println("操作失败");
System.out.println("unexpected exception, message: " + t.getMessage());