阿里云视频点播-->>>阿里云媒资上传工具类及配置
官网:
客户端上传SDK指引:https://help.aliyun.com/document_detail/61064.html
视频点播官网:https://www.aliyun.com/product/vod
资费详情:https://www.aliyun.com/price/product?spm=5176.8413026.702518.btn4.532911cfWqwLhX#/vod/detail
点播地域标识:https://help.aliyun.com/document_detail/98194.html
介绍
1.阿里云视频点播
阿里云视频点播(ApsaraVideo for VoD)是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速、视频播放于一体的一站式音视频点播解决方案。 VoD 为 Video on demand(视频点播) 简写形式。
2.视频服务流程
阿里云视频点播支持多端上传、并发上传、断点续传,满足不同场景下的上传需求,同时支持短视频SDK直接上传及直播录制转点播的一体化方案。
-
上传方式
提供上传SDK,支持Web端(JavaScript)、移动端(Android,iOS)、服务端(JAVA),以及上传OpenAPI,也可以通过控制台和PC客户端工具上传,并支持直播录制转点播。
-
支持类型
类型 | 格式 |
---|---|
视频 | 3gp, asf, avi, dat, dv, flv, f4v, gif, m2t, m3u8, m4v, mj2, mjpeg, mkv, mov, mp4, mpe, mpg, mpeg, mts, ogg, qt, rm, rmvb, swf, ts, vob, wmv, webm |
音频 | aac, ac3, acm, amr, ape, caf, flac, m4a, mp3, ra, wav, wma |
图片 | png,jpg,jpeg |
三,测试类中编写代码
测试代码请点击这里
四,媒资管理管理配置-存储管理
VOD提供存储服务,会默认帮您分配一个存储空间(bucket),默认区域为华东2(上海),无需任何配置即可进行上传和媒体资源管理,如您对存储区域有要求可再进行添加,目前VOD服务支持华北2(北京)和华东2(上海)两个服务中心,操作请参考存储管理文档
五,开始编写我们的JAVA代码
1.application.yml
#阿里云媒资配置
aliyun:
region: cn-shanghai #点播服务接入地域
accessKeyId: LTAI5tGwJq1PYYS2TSzhCGRA #阿里云id
accessKeySecret: 4hnwu59ZR6GEeMrxCcvIIsDZkUzAVB #阿里云密码
2.配置类
@ConfigurationProperties(prefix = "aliyun")
@Data
@Configuration
public class AliYunProperties {
private String region; //点播服务 接入地域
private String accessKeyId;//阿里云id
private String accessKeySecret;//阿里云密码
@Bean
public DefaultAcsClient client() {
DefaultProfile profile = DefaultProfile.getProfile(
region,
accessKeyId,
accessKeySecret);
return new DefaultAcsClient(profile);
}
}
3.工具类
/**
* 阿里云媒资上传工具类
*/
@Component
public class VodTemplate {
@Autowired
private DefaultAcsClient client;
/**
* 获取视频上传地址和凭证
* @param title 流媒体文件的显示名称
* @param fileName 流媒体文件的原始名称
* @return CreateUploadVideoResponse 获取视频上传地址和凭证响应数据
*/
public CreateUploadVideoResponse createUploadVideo(String title ,String fileName) throws ClientException {
CreateUploadVideoRequest request = new CreateUploadVideoRequest();
request.setTitle(title);//标题
request.setFileName(fileName);//文件
CreateUploadVideoResponse response = client.getAcsResponse(request);
return response;
}
/**
* 刷新视频上传凭证
* @return RefreshUploadVideoResponse 刷新视频上传凭证响应数据
*/
public RefreshUploadVideoResponse refreshUploadVideo(String videoId) throws ClientException {
RefreshUploadVideoRequest request = new RefreshUploadVideoRequest();
//音频或视频ID
request.setVideoId(videoId);
RefreshUploadVideoResponse response = client.getAcsResponse(request);
return response;
}
/*获取播放地址函数*/
public GetPlayInfoResponse getPlayInfo(String videoId) throws Exception {
GetPlayInfoRequest request = new GetPlayInfoRequest();
request.setVideoId(videoId);
return client.getAcsResponse(request);
}
/**
* 删除视频
* @return DeleteVideoResponse 删除视频响应数据
* @throws Exception
*/
public void deleteVideo(String...videoIds) throws Exception {
DeleteVideoRequest request = new DeleteVideoRequest();
if (ObjectUtils.isEmpty(videoIds)) {
return;
}
//支持传入多个视频ID,多个用逗号分隔
String videoIdStr = String.join(",", videoIds);
request.setVideoIds(videoIdStr);
client.getAcsResponse(request);
}
}
[断点续传原理:https://baijiahao.baidu.com/s?id=1590263619161019562&wfr=spider&for=pc
Java实现断点续传请点击:https://blog.csdn.net/u012319157/article/details/79111491
js实现断点续传请点击:https://www.cnblogs.com/luozhixiang/p/9306240.html