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

媒资管理

最近更新时间2023.11.21 19:30:46

首次发布时间2021.02.23 10:42:40

本文为您提供了服务端 Java SDK 的媒资管理模块相关的 API 调用示例。主要包含:查询媒资信息、修改媒资信息、修改媒资发布状态、获取音视频列表、获取字幕文件和媒资分类等。

初始化

使用前请先完成初始化,参考初始化

查询媒资信息

接口请求参数和返回参数详见 OpenAPI:查询媒资信息

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodGetMediaInfosRequest;
import com.volcengine.service.vod.model.response.VodGetMediaInfosResponse;

public class GetMediaInfosDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vids = "vid1,vid2,vid3";

        try {
            VodGetMediaInfosRequest.Builder req = VodGetMediaInfosRequest.newBuilder();
            req.setVids(vids);

            VodGetMediaInfosResponse resp = vodService.getMediaInfos(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

修改媒资信息

接口请求参数和返回参数详见 OpenAPI:修改媒资信息

package com.volcengine.example.vod.media;


import com.google.protobuf.Int64Value;
import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.google.protobuf.StringValue;
import com.volcengine.service.vod.model.request.VodUpdateMediaInfoRequest;
import com.volcengine.service.vod.model.response.VodUpdateMediaInfoResponse;

public class UpdateMediaInfoDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vid = "vid";
        String Title = "title";
        String Description = "description";
        String Tags = "tag1,tag2";
        long ClassificationId = 0;

        try {
            VodUpdateMediaInfoRequest.Builder req = VodUpdateMediaInfoRequest.newBuilder();
            req.setVid(vid);
            req.setTitle(StringValue.of(Title));
            req.setTags(StringValue.of(Tags));
            req.setDescription(StringValue.of(Description));
            req.setClassificationId(Int64Value.of(ClassificationId));

            VodUpdateMediaInfoResponse resp = vodService.updateMediaInfo(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

修改媒资发布状态

接口请求参数和返回参数详见 OpenAPI:修改媒资发布状态

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodUpdateMediaPublishStatusRequest;
import com.volcengine.service.vod.model.response.VodUpdateMediaPublishStatusResponse;

public class UpdateMediaPublishStatusDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vid1 = "vid1";
        String vid2 = "vid2";
        String statusPublished = "Published";
        String statusUnpublished = "Unpublished";

        try {
            // publish
            VodUpdateMediaPublishStatusRequest.Builder req = VodUpdateMediaPublishStatusRequest.newBuilder();
            req.setVid(vid1);
            req.setStatus(statusPublished);

            VodUpdateMediaPublishStatusResponse resp = vodService.updateMediaPublishStatus(req.build());
            System.out.println(resp);

            Thread.sleep(1000);

            // unpublish
            VodUpdateMediaPublishStatusRequest.Builder req1 = VodUpdateMediaPublishStatusRequest.newBuilder();
            req1.setVid(vid2);
            req1.setStatus(statusUnpublished);

            VodUpdateMediaPublishStatusResponse resp1 = vodService.updateMediaPublishStatus(req1.build());
            System.out.println(resp1);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

获取封面候选结果

接口请求参数和返回参数详见 OpenAPI:获取封面候选结果

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodGetRecommendedPosterRequest;
import com.volcengine.service.vod.model.response.VodGetRecommendedPosterResponse;

public class GetRecommendedPosterDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vids = "vid1,vid2,vid3";

        try {
            VodGetRecommendedPosterRequest.Builder req = VodGetRecommendedPosterRequest.newBuilder();
            req.setVids(vids);

            VodGetRecommendedPosterResponse resp = vodService.getRecommendedPoster(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

批量删除完整媒资

接口请求参数和返回参数详见 OpenAPI:批量删除完整媒资

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodDeleteMediaRequest;
import com.volcengine.service.vod.model.response.VodDeleteMediaResponse;

public class DeleteMediaDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vids = "vid1,vid2,vid3";
        String callBackArgs = "CallBackArgs";

        try {
            VodDeleteMediaRequest.Builder req = VodDeleteMediaRequest.newBuilder();
            req.setVids(vids);
            req.setCallbackArgs(callBackArgs);

            VodDeleteMediaResponse resp = vodService.deleteMedia(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

删除媒体文件

接口请求参数和返回参数详见 OpenAPI:删除媒体文件

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodDeleteTranscodesRequest;
import com.volcengine.service.vod.model.response.VodDeleteTranscodesResponse;

public class DeleteTranscodesDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vid = "vid";
        String fileIds = "fileId1,fileId2";
        String callBackArgs = "CallBackArgs";

        try {
            VodDeleteTranscodesRequest.Builder req = VodDeleteTranscodesRequest.newBuilder();
            req.setVid(vid);
            req.setFileIds(fileIds);
            req.setCallbackArgs(callBackArgs);

            VodDeleteTranscodesResponse resp = vodService.deleteTranscodes(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

获取音视频列表

接口请求参数和返回参数详见 OpenAPI:获取音视频列表

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
public class VodGetMediaListDemo {

    public static void main(String[] args) throws Exception {
        IVodService vodService = VodServiceImpl.getInstance();
        vodService.setAccessKey("your ak");
        vodService.setSecretKey("your sk");

        try {
            com.volcengine.service.vod.model.request.VodGetMediaListRequest.Builder reqBuilder = com.volcengine.service.vod.model.request.VodGetMediaListRequest.newBuilder();
			reqBuilder.setSpaceName("your SpaceName");
			reqBuilder.setVid("your Vid");
			reqBuilder.setStatus("your Status");
			reqBuilder.setOrder("your Order");
			reqBuilder.setTags("your Tags");
			reqBuilder.setStartTime("your StartTime");
			reqBuilder.setEndTime("your EndTime");
			reqBuilder.setOffset("your Offset");
			reqBuilder.setPageSize("your PageSize");
			reqBuilder.setClassificationIds("your ClassificationIds");
			reqBuilder.setTosStorageClasses("your TosStorageClasses");
			reqBuilder.setVodUploadSources("your VodUploadSources");
			
            com.volcengine.service.vod.model.response.VodGetMediaListResponse resp = vodService.getMediaList(reqBuilder.build());
            if (resp.getResponseMetadata().hasError()) {
                System.out.println(resp.getResponseMetadata().getError());
                System.exit(-1);
            }
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

获取字幕文件

接口请求参数和返回参数详见 OpenAPI:获取字幕文件

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodGetSubtitleInfoListRequest;
import com.volcengine.service.vod.model.response.VodGetSubtitleInfoListResponse;

public class GetSubtitleInfoListDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vid = "vid";
        String fileIds = "fid1,fid2";
        String formats = "format1,format2";
        String languages = "l1,l2";
        String languageIds = "lId1,lId2";
        String subtitleIds = "s1,s2";
        String status = "Published,Unpublished";
        String title = "title";
        String tag = "tag";
        String ssl = "ssl";
        String offset = "offset";
        String pageSize = "pageSize";


        try {
            VodGetSubtitleInfoListRequest.Builder req = VodGetSubtitleInfoListRequest.newBuilder();
            req.setVid(vid);
            req.setFileIds(fileIds);
            req.setFormats(formats);
            req.setLanguages(languages);
            req.setLanguageIds(languageIds);
            req.setSubtitleIds(subtitleIds);
            req.setStatus(status);
            req.setTitle(title);
            req.setTag(tag);
            req.setSsl(ssl);
            req.setOffset(offset);
            req.setPageSize(pageSize);

            VodGetSubtitleInfoListResponse resp = vodService.getSubtitleInfoList(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

修改字幕发布状态

接口请求参数和返回参数详见 OpenAPI:修改字幕发布状态

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodUpdateSubtitleStatusRequest;
import com.volcengine.service.vod.model.response.VodUpdateSubtitleStatusResponse;

public class UpdateSubtitleStatusDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vid = "vid";
        String fileIds = "fileId1,fileId2";
        String formats = "format1,format2";
        String languages = "language1,language2";
        String status = "status";

        try {
            VodUpdateSubtitleStatusRequest.Builder req = VodUpdateSubtitleStatusRequest.newBuilder();
            req.setVid(vid);
            req.setFileIds(fileIds);
            req.setFormats(formats);
            req.setLanguages(languages);
            req.setStatus(status);

            VodUpdateSubtitleStatusResponse resp = vodService.updateSubtitleStatus(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

修改字幕信息

接口请求参数和返回参数详见 OpenAPI:获取字幕信息

package com.volcengine.example.vod.media;

import com.google.protobuf.StringValue;
import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodUpdateSubtitleInfoRequest;
import com.volcengine.service.vod.model.response.VodUpdateSubtitleInfoResponse;

public class UpdateSubtitleInfoDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vid = "vid";
        String fileId = "fileId";
        String format = "format";
        String language = "language";
        String title = "title";
        String tag = "tag";

        try {
            VodUpdateSubtitleInfoRequest.Builder req = VodUpdateSubtitleInfoRequest.newBuilder();
            req.setVid(vid);
            req.setFileId(fileId);
            req.setFormat(format);
            req.setLanguage(language);
            req.setTitle(StringValue.of(title));
            req.setTag(StringValue.of(tag));

            VodUpdateSubtitleInfoResponse resp = vodService.updateSubtitleInfo(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

获取截图结果

接口请求参数和返回参数详见 OpenAPI:获取截图结果

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodListSnapshotsRequest;
import com.volcengine.service.vod.model.response.VodListSnapshotsResponse;

public class ListSnapshotsDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String vid = "your vid";

        try {
            VodListSnapshotsRequest.Builder req = VodListSnapshotsRequest.newBuilder();
            VodListSnapshotsResponse resp = vodService.listSnapshots(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

创建视频分类

接口请求参数和返回参数详见 OpenAPI:创建视频分类

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodCreateVideoClassificationRequest;
import com.volcengine.service.vod.model.response.VodCreateVideoClassificationResponse;

public class CreateVideoClassificationDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String space = "your space";
        int level = 1;
        long parentId = 0;
        String classification = "you classification";

        try {
            VodCreateVideoClassificationRequest.Builder req = VodCreateVideoClassificationRequest.newBuilder();
            req.setSpaceName(space);
            req.setLevel(level);
            req.setParentId(parentId);
            req.setClassification(classification);
            VodCreateVideoClassificationResponse resp = vodService.createVideoClassification(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

查询视频分类

接口请求参数和返回参数详见 OpenAPI:查询视频分类

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodCreateVideoClassificationRequest;
import com.volcengine.service.vod.model.request.VodListVideoClassificationsRequest;
import com.volcengine.service.vod.model.response.VodCreateVideoClassificationResponse;
import com.volcengine.service.vod.model.response.VodListVideoClassificationsResponse;

public class ListVideoClassificationsDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String space = "your space";
        long classificationId = 0;

        try {
            VodListVideoClassificationsRequest.Builder req = VodListVideoClassificationsRequest.newBuilder();
            req.setSpaceName(space);
            req.setClassificationId(classificationId);
            VodListVideoClassificationsResponse resp = vodService.listVideoClassifications(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

更新视频分类

接口请求参数和返回参数详见 OpenAPI:更新视频分类

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodUpdateVideoClassificationRequest;
import com.volcengine.service.vod.model.response.VodUpdateVideoClassificationResponse;

public class UpdateVideoClassificationDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String space = "your space";
        long classificationId = 0;
        String classification = "you classification";

        try {
            VodUpdateVideoClassificationRequest.Builder req = VodUpdateVideoClassificationRequest.newBuilder();
            req.setSpaceName(space);
            req.setClassificationId(classificationId);
            req.setClassification(classification);
            VodUpdateVideoClassificationResponse resp = vodService.updateVideoClassification(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

删除视频分类

接口请求参数和返回参数详见 OpenAPI:删除视频分类

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
import com.volcengine.service.vod.model.request.VodDeleteVideoClassificationRequest;
import com.volcengine.service.vod.model.response.VodDeleteVideoClassificationResponse;

public class DeleteVideoClassificationDemo {
    public static void main(String[] args) {
        IVodService vodService = VodServiceImpl.getInstance();

        // call below method if you dont set ak and sk in ~/.vcloud/config
        // vodService.setAccessKey("");
        // vodService.setSecretKey("");

        String space = "your space";
        long classificationId = 0;

        try {
            VodDeleteVideoClassificationRequest.Builder req = VodDeleteVideoClassificationRequest.newBuilder();
            req.setSpaceName(space);
            req.setClassificationId(classificationId);
            VodDeleteVideoClassificationResponse resp = vodService.deleteVideoClassification(req.build());
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

修改媒资存储类型

接口请求参数和返回参数详见 OpenAPI:修改媒资存储类型

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
public class VodUpdateMediaStorageClassDemo {

    public static void main(String[] args) throws Exception {
        IVodService vodService = VodServiceImpl.getInstance();
        vodService.setAccessKey("your ak");
        vodService.setSecretKey("your sk");

        try {
            com.volcengine.service.vod.model.request.VodUpdateMediaStorageClassRequest.Builder reqBuilder = com.volcengine.service.vod.model.request.VodUpdateMediaStorageClassRequest.newBuilder();
           reqBuilder.setVids("your Vids");
            reqBuilder.setStorageClass("your StorageClass");
            reqBuilder.setCallbackArgs("your CallbackArgs");
            reqBuilder.setFileIds("your FileIds");
            
         
            com.volcengine.service.vod.model.response.VodUpdateMediaStorageClassResponse resp = vodService.updateMediaStorageClass(reqBuilder.build());
            if (resp.getResponseMetadata().hasError()) {
                System.out.println(resp.getResponseMetadata().getError());
                System.exit(-1);
            }
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

根据文件路径获取媒资信息列表

接口请求参数和返回参数详见 OpenAPI:根据文件路径获取媒资信息列表

package com.volcengine.example.vod.media;

import com.volcengine.service.vod.IVodService;
import com.volcengine.service.vod.impl.VodServiceImpl;
public class VodListFileMetaInfosByFileNamesDemo {

    public static void main(String[] args) throws Exception {
        IVodService vodService = VodServiceImpl.getInstance();
        vodService.setAccessKey("your ak");
        vodService.setSecretKey("your sk");

        try {
            com.volcengine.service.vod.model.request.VodListFileMetaInfosByFileNamesRequest.Builder reqBuilder = com.volcengine.service.vod.model.request.VodListFileMetaInfosByFileNamesRequest.newBuilder();
			reqBuilder.setSpaceName("your SpaceName");
			reqBuilder.setFileNameEncodeds("your FileNameEncodeds");
			reqBuilder.setBucketName("your BucketName");
			
            com.volcengine.service.vod.model.response.VodListFileMetaInfosByFileNamesResponse resp = vodService.listFileMetaInfosByFileNames(reqBuilder.build());
            if (resp.getResponseMetadata().hasError()) {
                System.out.println(resp.getResponseMetadata().getError());
                System.exit(-1);
            }
            System.out.println(resp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}