阿里云视频点播服务的开通和使用
阿里云视频点播服务的开通和使用
文章目录
- 阿里云视频点播服务的开通和使用
- 前言:什么是阿里云视频点播服务?
- 一、开通阿里云视频点播服务
- 二、控制台基本操作
- 三、JAVA JDK操作阿里云视频点播服务
- 四、实战
- **第一步:创建service_vod工程,引入依赖**
- **第二步:初始化对象**
- **第三步:获取视频地址**
- **第四步:获取视频凭证**
- 第五步:本地上传视频到阿里云
- 第六步:安装阿里云依赖到本地maven仓库
- 小白结语
前言:什么是阿里云视频点播服务?
视频点播(ApsaraVideo
VoD,简称VoD)是集视频采集、编辑、上传、媒体资源管理、自动化转码处理(窄带高清TM)、视频审核分析、分发加速于一体的一站式音视频点播解决方案。
一、开通阿里云视频点播服务
1 进入阿里云官网。在产品分类中找到视频点播服务入口,点击进入
2 点击立即开通
3 我选择的是按流量计费
4 这里可以查看阿里云视频点播服务的收费详情,可以看到视频点播服务计费还是挺便宜的。
5 这个页面是阿里云视频点播服务的控制台首页
二、控制台基本操作
1 上传音视频:点击添加音/视频
2 选择一个文件上传
3 点击开始上传
4刷新页面,可以发现刚才上传的视频上传成功了
5 可以点击看看上传的视频
6 添加转码模板组
7 把用户自定义模板组设置为默认模板组,此时再上传一段音频
8 可以看到起风了.mp3被转码了
9 更多详细操作可以参考阿里云官方文档
三、JAVA JDK操作阿里云视频点播服务
1 在控制台首页点击SDK文档
2 找到JAVA SDK
3 在帮助文档中心打开
4 JAVA SDK首页
两个术语:
API:阿里云提供固定的地址,只需要调用这个固定的地址,想地值传递参数,实现功能。使用了HttpClient技术
SDK:是对API的封装,调用阿里云提供的类或者接口实现视频功能
官方强烈推荐使用SDK而不是API
5 安装SDK
(1)添加maven仓库
<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>
(2)引入jar包依赖
<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.3.3</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-vod</artifactId><version>2.15.5</version></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.2</version></dependency>
四、实战
第一步:创建service_vod工程,引入依赖
pom.xml
<dependencies><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.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></dependencies>
第二步:初始化对象
官方文档解释: https://help.aliyun.com/document_detail/61062.html?spm=a2c4g.11186623.6.908.11153815MJ9vxr
InitObject.java
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;@SuppressWarnings("all")
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;}
}
第三步:获取视频地址
注意:initVodClient()方法的两个参数分别是阿里云用户安全信息管理的AccessKey和AccessSecret
可到 https://usercenter.console.aliyun.com/#/manage/ak中进行相关设置
TestVod.java
/*** 获取视频Url地址* @throws ClientException*/public static void getPlayUrl() throws ClientException {//1 根据视频ID获得视频播放地址//1.1 创建初始化对象DefaultAcsClient client = InitObject.initVodClient("accessKey", "accessSecret");//1.2 创建获取视频地址request和responseGetPlayInfoRequest request = new GetPlayInfoRequest();GetPlayInfoResponse response = new GetPlayInfoResponse();//1.3 向request对象里面设置视频IDrequest.setVideoId("c833930e3e804a768af63826a862eeab");//1.4 调用初始化对象里面的方法,传递request,获取数据response = client.getAcsResponse(request);List<GetPlayInfoResponse.PlayInfo> infoList = response.getPlayInfoList();for (GetPlayInfoResponse.PlayInfo playInfo : infoList) {System.out.println("PlayInfo.PlayURL = " + playInfo.getPlayURL() + "\n");}//Base信息System.out.println("VideoBase.Title = " + response.getVideoBase().getTitle() + "\n");}
效果如图
第四步:获取视频凭证
当音频被加密时,无法直接通过地址访问,此时可以通过视频凭证访问,视频凭证由阿里云API生成
/*** 获取视频凭证* @throws ClientException*/public static void getPlayAuth() throws ClientException {//1 根据视频ID获得视频播放地址//1.1 创建初始化对象DefaultAcsClient client = InitObject.initVodClient("accessKey", "accessSecret");//1.2 创建初始化对象GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();//1.3 向request对象设置视频ID值request.setVideoId("c833930e3e804a768af63826a862eeab");//1.3 调用初始化对象里的方法得到凭证response = client.getAcsResponse(request);String playAuth = response.getPlayAuth();System.out.println("playAuth: " + playAuth);}
效果如图
第五步:本地上传视频到阿里云
首先要加载一个新的Jar包(我这里踩了一个坑,原先的依赖始终无法加载进maven,所以不得不手动导入了一个jar包,maven依赖换成了第一步的依赖)
差点怀疑人生了!
这个jar包是 aliyun-java-vod-upload-1.4.12.jar 是我在官方文档找的
地址:
https://help.aliyun.com/document_detail/53406.html?spm=a2c4g.11186623.6.1066.64fd7bdcEUIU0T
注意!!!官方文档解释如下:
注意:以下列举出部分依赖jar包的版本,您可直接在您的项目中添加maven依赖,也可以将VODUploadDemo-java-1.4.12.zip包中的所有jar包引入您的项目中使用。其中**,aliyun-java-vod-upload-1.4.12.jar 还未正式开源,请您直接引入jar包至您的项目中使用。**
也就是说这个jar包压根不在maven仓库,所有无法直接通过maven下载,需要手动安装这个依赖!!!
TestUploadVod.java
import com.aliyun.vod.upload.impl.UploadVideoImpl;
import com.aliyun.vod.upload.req.UploadVideoRequest;
import com.aliyun.vod.upload.resp.UploadVideoResponse;public class TestUploadVod {public static void main(String[] args) {String accessKeyId = "accessKeyId";String accessKeySecret = "accessKeySecret";String title = "100.mp4"; //上传之后文件名称String fileName = "G:\\1.mp4"; //本地文件路径和名称uploadVideoLocal(accessKeyId, accessKeySecret, title, fileName);}/**** @param accessKeyId ID* @param accessKeySecret 秘钥* @param title 上传后的文件名* @param fileName 上传前的本地文件路径*/public static void uploadVideoLocal(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);UploadVideoImpl uploader = new UploadVideoImpl();UploadVideoResponse response = uploader.uploadVideo(request);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");}}}
成功运行后控制台输出
查看后台,发现上传成功了(浪费了一晚上事件),庆祝一下!
第六步:安装阿里云依赖到本地maven仓库
阿里云的aliyun-java-vod-upload-1.4.12.jar没有正式开源,所以只能把这个jar包装进本地仓库
maven命令
进入jar包目录,输入:
mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.12 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.12.jar
如图所示,这个Jar包就成功安装进本地Maven仓库了!
小白结语
1.阿里云在国内乃至世界上的技术都是领先的,之前学习过阿里云OSS服务,今天学习了阿里云的视频点播服务,之后还会学习阿里云的短信服务等。
2.重视官方文档!!!
阿里云视频点播服务的开通和使用相关推荐
- 谷粒学院day09——课程发布与阿里云视频点播服务
day9 课程信息确认与视频点播 1.课程信息确认 1.1 后端实现 1.2 前端实现 2.课程的最终发布 3.课程列表功能 4.课程删除功能 5.阿里云视频点播 5.1 获取视频地址 5.2 获取视 ...
- Spring Boot集成阿里云视频点播服务的过程记录
阿里云视频点播 效果预览 视频点播 视频点播概述 功能 优势 流程 环境准备 开通视频点播 创建RAM用户并授权 上传SDK 上传流程 下载上传SDK 安装上传SDK 集成Java上传SDK 异常说明 ...
- Springboot整合阿里云视频点播服务
目录 一.阿里云视频点播服务 二.开通视频点播云平台 1.搜索视频点播服务 2.开通视频点播 3.选择按使用流量计费 三.使用SDK 1.添加Jar包依赖 2.application.properti ...
- 阿里云-视频点播服务API调用
视频点播服务 最近公司项目需要用到视频播放及管理,多放选型后准备采用阿里云视频点播服务(公司一直用阿里系) 购买了视频点播存储包和视频点播流量包 首先存储配置 配置管理 -> 媒资管理配置 -& ...
- springboot整合阿里云视频点播服务Vod——实现视频上传、删除、播放
视频点播(ApsaraVideo VoD,简称VoD)是集视频采集.编辑.上传.媒体资源管理.自动化转码处理(窄带高清™).视频审核分析.分发加速于一体的一站式音视频点播解决方案. 阿里云视频点播服务 ...
- 阿里云视频点播服务Vod工具类——实现视频上传、删除、播放
阿里云视频点播服务Vod工具类--实现视频上传.删除.播放 阿里云视频点播服务Vod工具类 maven依赖 工具类实现 工具类的测试 获取视频 1. 获取单个视频的播放地址和ID: 2. 获取所有视频 ...
- 第三方服务-阿里云视频点播服务java服务端SDK相关代码
视频点播服务中的视频,也依然是存在OSS上的,但是区别是什么呢?下面关于区别的描述摘自阿里云官网 视频的点播场景涉及视频的存储.转码.分发加速几个环节,那么: 视频点播是集视频音视频采集.编辑.上传. ...
- 阿里云视频点播服务SDK的使用,视频文件上传测试
文章目录 阿里云视频点播技术简介 一.阿里云视频点播技术能力盘点 1.应用场景 2.功能介绍 二.开通视频点播云平台 1.选择视频点播服务 2.开通视频点播 3.选择按使用流量计费 4.资费说明 5. ...
- 阿里云视频点播服务(上传,删除,获取播放地址,获取播放凭证)
一.简介 视频点播(ApsaraVideo for VoD)是集音视频采集.编辑.上传.自动化转码处理.媒体资源管理.分发加速于一体的一站式音视频点播解决方案. 1.应用场景 音视频网站:无论是初创视 ...
最新文章
- PHP“Cannot use object of type stdClass as array”
- linux红帽网页中文乱码解决,【linux学习笔记】安装redhat时中文显示乱码(小方框)解决方法...
- Tiny4412裸机程序,按键检测(轮询方式)
- 定期清空Linux系统日志文件
- STM32示波器 信号发生器
- 如何用孩子兄弟表示法存储树c语言,C语言,数据结构,树的孩子兄弟表示法,程序一切正常,但是有个问题不太懂了,园豆不多,帮帮忙,求助一下....
- Git的使用教程(三)
- Java类加载器 以及类加载器的委托模型
- Web SCADA 电力接线图工控组态编辑器 1
- BZOJ2002[HNOI2010] 弹飞绵羊(LCT)
- 量子计算学习笔记:量子计算发展史
- 深入理解深度学习——Word Embedding(四):Skip-Gram模型的数学原理
- java 图片加多处水印_Java在Word中添加多行图片水印
- 记一次搜狐畅游后台开发笔试
- (二)D3D9视频显示的流程与初始化
- mysql动态表单设计与实现_动态表单的数据库结构设计
- MFC+opencv实现摄像头的打开与关闭
- OPENGL学习(四)GLUT三维图像绘制
- combotree单选子节点
- 扶着墙进去,扶着墙出来