阿里云视频点播服务的开通和使用

文章目录

  • 阿里云视频点播服务的开通和使用
    • 前言:什么是阿里云视频点播服务?
    • 一、开通阿里云视频点播服务
    • 二、控制台基本操作
    • 三、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.重视官方文档!!!

阿里云视频点播服务的开通和使用相关推荐

  1. 谷粒学院day09——课程发布与阿里云视频点播服务

    day9 课程信息确认与视频点播 1.课程信息确认 1.1 后端实现 1.2 前端实现 2.课程的最终发布 3.课程列表功能 4.课程删除功能 5.阿里云视频点播 5.1 获取视频地址 5.2 获取视 ...

  2. Spring Boot集成阿里云视频点播服务的过程记录

    阿里云视频点播 效果预览 视频点播 视频点播概述 功能 优势 流程 环境准备 开通视频点播 创建RAM用户并授权 上传SDK 上传流程 下载上传SDK 安装上传SDK 集成Java上传SDK 异常说明 ...

  3. Springboot整合阿里云视频点播服务

    目录 一.阿里云视频点播服务 二.开通视频点播云平台 1.搜索视频点播服务 2.开通视频点播 3.选择按使用流量计费 三.使用SDK 1.添加Jar包依赖 2.application.properti ...

  4. 阿里云-视频点播服务API调用

    视频点播服务 最近公司项目需要用到视频播放及管理,多放选型后准备采用阿里云视频点播服务(公司一直用阿里系) 购买了视频点播存储包和视频点播流量包 首先存储配置 配置管理 -> 媒资管理配置 -& ...

  5. springboot整合阿里云视频点播服务Vod——实现视频上传、删除、播放

    视频点播(ApsaraVideo VoD,简称VoD)是集视频采集.编辑.上传.媒体资源管理.自动化转码处理(窄带高清™).视频审核分析.分发加速于一体的一站式音视频点播解决方案. 阿里云视频点播服务 ...

  6. 阿里云视频点播服务Vod工具类——实现视频上传、删除、播放

    阿里云视频点播服务Vod工具类--实现视频上传.删除.播放 阿里云视频点播服务Vod工具类 maven依赖 工具类实现 工具类的测试 获取视频 1. 获取单个视频的播放地址和ID: 2. 获取所有视频 ...

  7. 第三方服务-阿里云视频点播服务java服务端SDK相关代码

    视频点播服务中的视频,也依然是存在OSS上的,但是区别是什么呢?下面关于区别的描述摘自阿里云官网 视频的点播场景涉及视频的存储.转码.分发加速几个环节,那么: 视频点播是集视频音视频采集.编辑.上传. ...

  8. 阿里云视频点播服务SDK的使用,视频文件上传测试

    文章目录 阿里云视频点播技术简介 一.阿里云视频点播技术能力盘点 1.应用场景 2.功能介绍 二.开通视频点播云平台 1.选择视频点播服务 2.开通视频点播 3.选择按使用流量计费 4.资费说明 5. ...

  9. 阿里云视频点播服务(上传,删除,获取播放地址,获取播放凭证)

    一.简介 视频点播(ApsaraVideo for VoD)是集音视频采集.编辑.上传.自动化转码处理.媒体资源管理.分发加速于一体的一站式音视频点播解决方案. 1.应用场景 音视频网站:无论是初创视 ...

最新文章

  1. PHP“Cannot use object of type stdClass as array”
  2. linux红帽网页中文乱码解决,【linux学习笔记】安装redhat时中文显示乱码(小方框)解决方法...
  3. Tiny4412裸机程序,按键检测(轮询方式)
  4. 定期清空Linux系统日志文件
  5. STM32示波器 信号发生器
  6. 如何用孩子兄弟表示法存储树c语言,C语言,数据结构,树的孩子兄弟表示法,程序一切正常,但是有个问题不太懂了,园豆不多,帮帮忙,求助一下....
  7. Git的使用教程(三)
  8. Java类加载器 以及类加载器的委托模型
  9. Web SCADA 电力接线图工控组态编辑器 1
  10. BZOJ2002[HNOI2010] 弹飞绵羊(LCT)
  11. 量子计算学习笔记:量子计算发展史
  12. 深入理解深度学习——Word Embedding(四):Skip-Gram模型的数学原理
  13. java 图片加多处水印_Java在Word中添加多行图片水印
  14. 记一次搜狐畅游后台开发笔试
  15. (二)D3D9视频显示的流程与初始化
  16. mysql动态表单设计与实现_动态表单的数据库结构设计
  17. MFC+opencv实现摄像头的打开与关闭
  18. OPENGL学习(四)GLUT三维图像绘制
  19. combotree单选子节点
  20. 扶着墙进去,扶着墙出来

热门文章

  1. JVM内存分哪几个区,每个区的作用是什么?
  2. 石油大学华东matlab王海燕,中石大获2019全国三维数字化创新设计大赛年度总决赛二等奖...
  3. nginx 服务器大文件上传时500错误
  4. 计算机系统实验三——buflab(缓冲区实验)
  5. 微信小程序:小程序开发中申请优惠券步骤
  6. react(子传父、父传子)
  7. 【Python网络编程】爬取百度贴吧、小说内容、豆瓣小说、Ajax爬微博、多线程爬淘宝
  8. Android百日程序:绘画程序-画手指路径
  9. 带符号整数的除法与余数
  10. css filter:inver属性灵活使用