Java使用阿里云视频点播
Posted 暴躁的程序猿啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java使用阿里云视频点播相关的知识,希望对你有一定的参考价值。
阿里云视频点播服务
视频点播 是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播方案。
登录阿里云 搜索 视频点播 我们的账号需要实名认证 且功能是需要付费了
点击开通 我们选择按量付费
来到控制台
可以点击上传视频
点击存储管理
这里没开启是要点击开启的不然无法使用 使用的是oos存储的视频
我们这里进行上传视频测试
我们使用java的SDK操作视频点播
首先引入所需的依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>2.15.11</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-kms</artifactId>
<version>2.10.1</version>
</dependency>
<repositories>
<repository>
<id>sonatype-nexus-staging</id>
<name>Sonatype Nexus Staging</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
创建一个初始化客户端
注意这里的 密钥是 阿里云个人中心开启的
/**
* @create: 2021/10/31
* @author: Tony Stark
*/
public class InitObject {
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;
}
}
视频的播放 获取视频url
/**
* 根据视频id获取视频地址
* @create: 2021/10/31
* @author: Tony Stark
*/
public class TestVod {
public static void main(String[] args) throws ClientException {
//根据视频id获取视频播放地址
//创建初始化对象 设置密钥
DefaultAcsClient client = InitObject.initVodClient("你的accessKeyId", "你的accessKeySecret");
//创建获取视频地址热request和response
GetPlayInfoRequest request = new GetPlayInfoRequest();
GetPlayInfoResponse response = new GetPlayInfoResponse();
//向request中设置视频的id值
request.setVideoId("e921235475d0428eafc4a0cfa819a777");
//调用初始化对象里面的方法传递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");
}
}
获取视频播放凭证
我们在视频点播中上传视频是可以用魔板加密的 视频加密后需要获取凭证才能播放
public static void getAuth() throws Exception{
//创建初始化对象
DefaultAcsClient client = InitObject.initVodClient("你的accessKeyId", "你的accessKeySecret");
//创建获取视频凭证的的request和response
GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();
//设置视频id
request.setVideoId("e921235475d0428eafc4a0cfa819a777");
//调用初始化对象里面的方法传递request对象,获取数据
response=client.getAcsResponse(request);
//获取视频凭证
System.out.println(response.getPlayAuth());
}
删除视频
public static DeleteVideoResponse deleteVideo()throws Exception{
//创建初始化对象
DefaultAcsClient client = InitObject.initVodClient("你的accessKeyId", "你的accessKeySecret");
DeleteVideoRequest request = new DeleteVideoRequest();
//支持传入多个视频ID,多个用逗号分隔
request.setVideoIds("VideoId1,VideoId2");
return client.getAcsResponse(request);
}
以上是关于Java使用阿里云视频点播的主要内容,如果未能解决你的问题,请参考以下文章
Vue+java:阿里云OSS 实现视频上传,前端Vue使用vueMiniPlayer动态地址视频播放,以及发布时遇到aliyun-java-vod-upload时依赖报错问题的解决方法