阿里云视频点播服务
-
引入相关依赖
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.3.3</version> </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-vod</artifactId> <version>2.15.2</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-sdk-vod-upload</artifactId> <version>1.4.11</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20170516</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.10.1</version> </dependency>
-
使用账号AccessKey初始化。
import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.exceptions.ClientException; public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException { String regionId = "cn-shanghai"; // 点播服务接入区域 DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret); DefaultAcsClient client = new DefaultAcsClient(profile); return client; }
获取视频地址
// 根据视频id获取视频播放地址
public static void getPlayURL() throws ClientException {
// 创建初始化对象
DefaultAcsClient client = InitObject.initVodClient("LTAI4GFasdWvpBwFzgAB93QnxZasdC", "4swIosdaf0VAtGasdcHa93fasdFE9hKGvK6Wf9p");
// 创建获取视频地址request和response
GetPlayInfoRequest request = new GetPlayInfoRequest();
GetPlayInfoResponse response = new GetPlayInfoResponse();
// 向request对象里面设置视频id
request.setVideoId("d1cbc4322a8f45f7bb76cce2b30a1b79");
// 调用初始化对象里面的方法 传递request 获取数据
response = client.getAcsResponse(request);
List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList();
//播放地址
for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) {
System.out.print("PlayInfo.PlayURL = " + playInfo.getPlayURL() + "\n");
}
//Base信息
System.out.print("VideoBase.Title = " + response.getVideoBase().getTitle() + "\n");
}
获取视频凭证
// 根式视频id获取视频播放凭证
public static void getPlayAuth() throws ClientException {
// 创建初始化对象
DefaultAcsClient client = InitObject.initVodClient("LTAI4GFWvpBwFzgAB93QnxZC", "4swIof0VAtGcHa93fFE9hKGvK6Wf9p");
// 创建获取视频凭证的request和response
GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();
// 向request里设置视频id值
request.setVideoId("bb6c94016a984a079dc72f86e6a0e0d7");
// 调用初始化对象里面的方法得到凭证
response = client.getAcsResponse(request);
System.out.println("playAuth:" + response.getPlayAuth());
}
上传视频
String accessKeyId = "LTAI4GFWvpBwFzgAB93QnxZC";
String accessKeySecret = "4swIof0VAtGcHa93fFE9hKGvK6Wf9p";
String title = "demo1"; // 上传之后文件名称
String fileName = "F:/demo1.mp4"; // 本地文件的路径名称
// 上传视频的方法
UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);
request.setPartSize(2 * 1024 * 1024L);
request.setTaskNum(1);
UploadVideoImpl uploader = new UploadVideoImpl();
UploadVideoResponse response = uploader.uploadVideo(request);
System.out.println("ReqId:" + response.getRequestId());
if (response.isSuccess()) {
System.out.println("VideoId:" + response.getVideoId());
} else {
System.out.println("VideoId:" + response.getVideoId());
System.out.println("ErrorCode:" + response.getCode());
System.out.println("ErrorMessage:" + response.getMessage());
}