阿里云视频点播功能

This commit is contained in:
xiezhijun
2021-04-28 20:48:02 +08:00
parent bab4569b43
commit 90126a3d4c
13 changed files with 324 additions and 15 deletions

View File

@ -0,0 +1,101 @@
package com.stdiet.common.utils;
import com.aliyun.vod20170321.models.*;
import com.aliyun.teaopenapi.models.*;
import com.stdiet.common.config.AliyunOSSConfig;
public class AliyunVideoUtils {
public static com.aliyun.vod20170321.Client videoClient = null;
public static final String default_definition = "FD,LD,SD,HD";
public static final String default_stream_type = "video";
public static final String default_output_type = "oss";
public static final String default_formats = "mp4";
/**
* 初始化视频点播Client
* @return
* @throws Exception
*/
public static com.aliyun.vod20170321.Client createClient() throws Exception {
if(videoClient == null){
synchronized (com.aliyun.vod20170321.Client.class){
if(videoClient == null){
Config config = new Config()
// 您的AccessKey ID
.setAccessKeyId(AliyunOSSConfig.AccessKeyID)
// 您的AccessKey Secret
.setAccessKeySecret(AliyunOSSConfig.AccessKeySecret);
// 访问的域名
config.endpoint = "vod.cn-shenzhen.aliyuncs.com";
videoClient = new com.aliyun.vod20170321.Client(config);
}
}
}
return videoClient;
}
/**
* 分页获取视频列表
* @param pageNo 页码
* @param pageSize 每页数量
* @return
* @throws Exception
*/
public static GetVideoListResponseBody getVideoListByPage(Long cateId, String status, Integer pageNo, Integer pageSize) throws Exception{
com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient();
GetVideoListRequest getVideoListRequest = new GetVideoListRequest()
.setCateId(cateId == null ? null : cateId)
.setStatus(status == null ? "Normal": status)
.setPageNo(pageNo == null ? 1 : pageNo)
.setPageSize(pageSize == null ? 10 : pageSize);
GetVideoListResponse videoListResponse = client.getVideoList(getVideoListRequest);
if(videoListResponse != null){
return videoListResponse.getBody();
}
return null;
}
/**
* 根据videoID获取视频访问地址信息
* @param videoId
* @throws Exception
*/
public static GetPlayInfoResponseBody getVideoVisitDetail(String videoId) throws Exception{
com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient();
GetPlayInfoRequest getPlayInfoRequest = new GetPlayInfoRequest()
.setVideoId(videoId)
.setStreamType(default_stream_type)
.setOutputType(default_output_type)
.setFormats(default_formats);
GetPlayInfoResponse getPlayInfoResponse = client.getPlayInfo(getPlayInfoRequest);
if(getPlayInfoResponse != null){
return getPlayInfoResponse.getBody();
}
return null;
}
/**
* 根据videoID获取视频信息
* @param videoId
* @throws Exception
*/
public static GetVideoInfoResponseBody getVideoById (String videoId) throws Exception{
com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient();
GetVideoInfoRequest getVideoInfoRequest = new GetVideoInfoRequest()
.setVideoId(videoId);
GetVideoInfoResponse response = client.getVideoInfo(getVideoInfoRequest);
if(response != null){
return response.body;
}
return null;
}
}