前言
大家好,我是程序员阿毛,今天通过本文章给大家讲解java程序中如何部署阿里云的视频点播服务,本文语言简洁明了,通俗易懂,与君分享,奈何能力有限,如有出处,劳烦指点。
视频点播介绍
概述:阿里云视频点播(VOD)是集音视频上传、自动化转码处理、媒体资源管理、分发加速域一题的全链路音视频点播服务。
- 音视频管理:将视频上传到阿里云服务器,并运行进行编辑操作
- 自动化转码处理:将通用格式MP4,转换成阿里云特有的编码,转码之后只能由阿里云播放器进行播放
- 媒体资源管理:加水印、设置模板
- 分发加速:缓存加速
- 全链路(一站式):全部功能都帮你完成
简单理解:阿里云能实现前端上传视频存储阿里云后端处理前端访问的一个功能
功能介绍
开通服务
- 使用视频点播服务
- 第一次进入未开通该服务
- 开通服务
- 按使用流量计费:(类似于手机流量)
- 流量单位:MB=MByte(byte是字节)
收费示例:
假设在10:00-11:00这段时间内,中国大陆区域流量累计消耗 102410 GB,则对应的流量计费为:
(10240*0.24) + [(51200-10240)*0.23] + [(102400-51200)*0.21] + [(102410-102400)*0.18],即22632.2 元。- 简单点来说就是五毛钱1G,还是比较划算的。
- 按带宽峰值计费:(类似宽带上网)
带宽单位:Mbps=Mbit/s(bit是比特) - 建议使用流量计费,因为我们是小范围使用,用多少扣多少钱,宽带计费符合企业级别,我们这里就不做考虑。
基本使用
存储管理
- 启用存储管理
- 设置成默认
设置分类
- 设置分类
设置转码模板
- 转码模板列表
- 设置加密模板
上传视频
- 选择视频
- 上传成功
- 视频列表
链接Java程序阿里云准备
- AccessKey管理
- 使用子用户AccessKey
- 创建用户,勾选编程访问
- 给用户添加权限,RAM设置
- 创建用户AccessKey
- 创建AccessKey后,保存AccessKey ID与AccessKeySecret
- 建议下载保存AccessKey.csv
VOD入门
上传流程
下载SDK
链接 https://help.aliyun.com/document_detail/51992.htm?spm=a2c4g.11186623.2.6.22ea5186nHxrso#topic-1959787
POM文件配置坐标
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.1</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</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.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>
- 安装aliyun-java-vod-upload
在任意目录下放置jar包
- 命令框中输入指令
mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.13 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.13.jar
- 添加pom文件坐标
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-vod-upload</artifactId>
<version>1.4.13</version>
</dependency>
- 完整坐标
<dependencies>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.1</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</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.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>com.aliyun</groupId>
<artifactId>aliyun-sdk-vod-upload</artifactId>
<version>1.4.13</version>
</dependency>
</dependencies>
上传视频
-
要求视频上传格式为mp4
-
测试类
public class UploadVideoDemo {
//账号AK信息请填写(必选)
private static final String accessKeyId = "LTAI4GD66m4xsD5e1Qnns9mR";
//账号AK信息请填写(必选)
private static final String accessKeySecret = "FWPFzljoLDGMiLxCE58xhLykDb3LW4";
public static void main(String[] args) {
// 一、视频文件上传
// 视频标题(必选)
String title = "vod测试视频-转码hls.mp4";
// 1.本地文件上传和文件流上传时,文件名称为上传文件绝对路径,如:/User/sample/文件名称.mp4 (必选)
// 2.网络流上传时,文件名称为源文件名,如文件名称.mp4(必选)。
// 3.流式上传时,文件名称为源文件名,如文件名称.mp4(必选)。
// 任何上传方式文件名必须包含扩展名
String fileName = "D:\\大学视频\\vod测试视频.mp4";
// 本地文件上传
testUploadVideo(accessKeyId, accessKeySecret, title, fileName);
}
/**
* 本地文件上传接口
*
* @param accessKeyId
* @param accessKeySecret
* @param title
* @param fileName
*/
private static void testUploadVideo(String accessKeyId, String accessKeySecret, String title, String fileName) {
UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);
/* 可指定分片上传时每个分片的大小,默认为2M字节 */
request.setPartSize(2 * 1024 * 1024L);
/* 可指定分片上传时的并发线程数,默认为1,(注:该配置会占用服务器CPU资源,需根据服务器情况指定)*/
request.setTaskNum(1);
/* 视频分类ID(可选) */
request.setCateId(1000286369L);
/* 模板组ID(可选) */
//request.setTemplateGroupId("61db775f62be2384f274051b90971080");
UploadVideoImpl uploader = new UploadVideoImpl();
UploadVideoResponse response = uploader.uploadVideo(request);
System.out.print("RequestId=" + response.getRequestId() + "\n"); //请求视频点播服务的请求ID
if (response.isSuccess()) {
System.out.print("VideoId=" + response.getVideoId() + "\n");
} else {
/* 如果设置回调URL无效,不影响视频上传,可以返回VideoId同时会返回错误码。其他情况上传失败时,VideoId为空,此时需要根据返回错误码分析具体错误原因 */
System.out.print("VideoId=" + response.getVideoId() + "\n");
System.out.print("ErrorCode=" + response.getCode() + "\n");
System.out.print("ErrorMessage=" + response.getMessage() + "\n");
}
}
}
以上代码可参照阿里云帮助文档
文章介绍到此,感谢大家的浏览,如有出处,请多多指点。
——程序员阿毛