媒资操作
更新时间:2022-09-01
处理媒资
使用如下代码可以处理一个媒资。
Java
1private void processMedia(BvwClient client) {
2 String sourceBucket = "<your bucket>";
3 String sourcekey = "<your key>";
4 String title = "<your media title>";
5 String description = "<your media description>";
6 String workflowName = "<your workflow name>";
7 MediaProcessRequest processRequest = MediaProcessRequest.of(sourceBucket, sourcekey, title,
8 description, workflowName);
9 MediaProcessResponse response = client.processMedia(processRequest);
10}
11
12private void processMediaWithMediaId(BvwClient client) {
13 String mediaId = "<your media id>";
14 String workflowName = "<your workflow name>";
15 MediaProcessRequest processRequest = MediaProcessRequest.of(mediaId, workflowName);
16 MediaProcessResponse response = client.processMedia(processRequest);
17}
处理媒资有两种情况:
- 创建媒资:提供sourceBucket、sourceKey、title以及description,如果该路径对应的媒资在videoworks中不存在,则创建媒资,生成meidiaId,否则返回已有mediaId,不允许重复创建;
- 处理媒资:使用已有的mediaId和workflow对媒资进行再次处理,返回处理对应的实例instanceId;
删除媒资
使用如下代码可以删除一个媒资。
Java
1private void deleteMedia(BvwClient client, String mediaId) {
2 client.deleteMedia(mediaId);
3}
删除媒资操作将保留媒资源文件,删除处理媒资生成的分发文件,并刷新分发文件在CDN的缓存。
批量删除媒资
使用如下代码可以批量删除媒资。
Java
1private void batchDeleteMedia(BvwClient client, List<String> mediaIds) {
2 client.batchDeleteMedia(mediaIds);
3}
更新媒资
使用如下代码可以更新一个媒资。
Java
1private void updateMedia(BvwClient client, String mediaId, String title, String description) {
2 MediaUpdateRequest updateRequest = MediaUpdateRequest.of(mediaId, title, description);
3 client.updateMedia(updateRequest);
4}
查询媒资
使用如下代码可以查询一个媒资。
Java
1private void getMedia(BvwClient client, String mediaId) {
2 MediaGetResponse response = client.getMedia(mediaId);
3}
查询媒资实例列表
使用如下代码可以查询一个媒资运行的实例列表信息。
Java
1private void getMediaInstances(BvwClient client, String mediaId) {
2 MediaInstanceListResponse response = client.getMediaInstanceList(mediaId);
3}
查询媒资列表(分页机制)
使用如下代码可以查询媒资列表分页信息。
Java
1private void listMedia(BvwClient client) {
2 int pageNo = 1;
3 int pageSize = 10;
4 String begin = "2019-06-30T16:00:00Z";
5 String end = "2019-07-30T16:00:00Z";
6 MediaStatus status = MediaStatus.NORMAL;
7 RunnableStatus instanceStatus = RunnableStatus.SUCCESS;
8 String mediaId = null;
9 String titleFuzzy = "movie";
10 String order = "desc";
11 String orderBy = "createTime";
12 MediaListRequest listRequest = MediaListRequest.of(pageNo, pageSize, begin, end,
13 status, instanceStatus,
14 mediaId, titleFuzzy, order, orderBy);
15 ListByPageResponse<MediaListResponse> response = client.listMedia(listRequest);
16}
- 查询媒资列表分页时,只有pageNo和pageSize是必选参数,其他均为可选。
- title参数为模糊查询,mediaId参数为精确查询。
- order和orderBy的参数在传入多个时以英文逗号分隔,且一一对应,例如:"order=asc,desc&orderBy=createTime,status",表示按创建时间升序、按状态降序排列。
封禁媒资
使用如下代码可以封禁一个媒资。
Java
1private void banMedia(BvwClient client, String mediaId) {
2 client.banMedia(mediaId);
3}
封禁媒资操作将设置处理媒资生成的分发文件在BOS的访问权限ACL为私有private,并刷新分发文件在CDN的缓存。
解禁媒资
使用如下代码可以解禁一个媒资。
Java
1private void unbanMedia(BvwClient client, String mediaId) {
2 client.unbanMedia(mediaId);
3}
解禁媒资操作将设置处理媒资生成的分发文件在BOS的访问权限ACL为公共读public-read。