视频点播开通
开通视频点播
创建子AccessKey
视频点播实践
引入相关依赖
aliyun-sdk-vod-upload
这个依赖要去官网参考例子里手动复制到maven仓库里 ,目前无法通过maven自动下载
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-vod-upload</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
</dependencies>
使用账号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("your_ak", "your_sk");
// 创建获取视频地址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("your_ak", "your_sk");
// 创建获取视频凭证的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 = "your_ak";
String accessKeySecret = "your_sk";
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());
}