文章目录

  • 阿里云视频点播技术简介
    • 一、阿里云视频点播技术能力盘点
      • 1、应用场景
      • 2、功能介绍
    • 二、开通视频点播云平台
      • 1、选择视频点播服务
      • 2、开通视频点播
      • 3、选择按使用流量计费
      • 4、资费说明
      • 5、整体流程
    • 三、视频点播服务的基本使用
      • 1、设置转码格式
      • 2、分类管理
      • 3、上传视频文件
      • 4、配置域名
      • 5、在控制台查看视频
      • 6、获取web播放器代码
  • 使用服务端SDK
    • 一、服务端SDK
      • 1、简介
      • 2、功能介绍
    • 二、使用SDK
      • 1、安装
      • 2、初始化
      • 3、创建测试类
    • 三、创建测试用例
      • 1、获取视频播放凭证
      • 2、获取视频播放地址
  • 文件上传测试
    • 一、安装SDK
      • 1、配置pom
      • 2、安装非开源jar包
    • 二、测试
      • 1、创建测试文件

阿里云视频点播技术简介

一、阿里云视频点播技术能力盘点

视频点播(ApsaraVideo for VoD)是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。

找到视频点播
https://www.aliyun.com/activity/new?utm_content=se_1011323120

1、应用场景

  • 音视频网站:无论是初创视频服务企业,还是已拥有海量视频资源,可定制化的点播服务帮助客户快速搭建拥有极致观看体验、安全可靠的视频点播应用。
  • 短视频:集音视频拍摄、特效编辑、本地转码、高速上传、自动化云端转码、媒体资源管理、分发加速、播放于一体的完整短视频解决方案。目前已帮助1000+APP快速实现手机短视频功能。
  • 直播转点播:将直播流同步录制为点播视频,用于回看。并支持媒资管理、媒体处理(转码及内容审核/智能首图等AI处理)、内容制作(云剪辑)、CDN分发加速等一系列操作。
  • 在线教育:为在线教育客户提供简单易用、安全可靠的视频点播服务。可通过控制台/API等多种方式上传教学视频,强大的转码能力保证视频可以快速发布,覆盖全网的加速节点保证学生观看的流畅度。防盗链、视频加密等版权保护方案保护教学内容不被窃取。
  • 视频生产制作:提供在线可视化剪辑平台及丰富的OpenAPI,帮助客户高效处理、制作视频内容。除基础的剪切拼接、混音、遮标、特效、合成等一系列功能外,依托云剪辑及点播一体化服务还可实现标准化、智能化剪辑生产,大大降低视频制作的槛,缩短制作时间,提升内容生产效率。
  • 内容审核:应用于短视频平台、传媒行业审核等场景,帮助客户从从语音、文字、视觉等多维度精准识别视频、封面、标题或评论的违禁内容进行AI智能审核与人工审核。

2、功能介绍

二、开通视频点播云平台

1、选择视频点播服务

产品->企业应用->视频云->视频点播

2、开通视频点播

3、选择按使用流量计费

4、资费说明

https://www.aliyun.com/price/product?spm=a2c4g.11186623.2.12.7fbd59b9vmXVN6#/vod/detail
后付费
套餐包
欠费说明
计费案例:https://help.aliyun.com/document_detail/64032.html?spm=a2c4g.11186623.4.3.363db1bcfdvxB5

5、整体流程

使用视频点播实现音视频上传、存储、处理和播放的整体流程如下:

  • 用户获取上传授权。
  • VoD下发 上传地址和凭证 及 VideoId。
  • 用户上传视频保存视频ID(VideoId)。
  • 用户服务端获取播放凭证。
  • VoD下发带时效的播放凭证。
  • 用户服务端将播放凭证下发给客户端完成视频播放。

三、视频点播服务的基本使用

完整的参考文档
三、视频点播服务的基本使用
完整的参考文档
https://help.aliyun.com/product/29932.html?spm=a2c4g.11186623.6.540.3c356a58OEmVZJ

1、设置转码格式

选择全局设置 > 转码设置,单击添加转码模板组。
在视频转码模板组页面,根据业务需求选择封装格式和清晰度。
或直接将已有的模板设置为默认即可

2、分类管理

选择全局设置 > 分类管理

3、上传视频文件

选择媒资库 > 音视频,单击上传音视频

4、配置域名

音视频上传完成后,必须配一个已备案的域名,并完成CNAME绑定

5、在控制台查看视频

此时视频可以在阿里云控制台播放

6、获取web播放器代码


使用服务端SDK

一、服务端SDK

1、简介

sdk的方式将api进行了进一步的封装,不用自己创建工具类。
我们可以基于服务端SDK编写代码来调用点播API,实现对点播产品和服务的快速操作。

2、功能介绍

  • SDK封装了对API的调用请求和响应,避免自行计算较为繁琐的 API签名。
  • 支持所有点播服务的API,并提供了相应的示例代码。
  • 支持7种开发语言,包括:Java、Python、PHP、.NET、Node.js、Go、C/C++。
  • 通常在发布新的API后,我们会及时同步更新SDK,所以即便您没有找到对应API的示例代码,也可以参考旧的示例自行实现调用。

二、使用SDK

1、安装

参考文档:https://help.aliyun.com/document_detail/57756.html
添加maven仓库的配置和依赖到pom


<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>
 <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>

2、初始化

参考文档:https://help.aliyun.com/document_detail/61062.html
根据文档示例创建 AliyunVODSDKUtils.java


package com.atguigu.aliyunvod.util;
public class AliyunVodSDKUtils {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;}
}

3、创建测试类

创建 VodSdkTest.java


package com.atguigu.aliyunvod;
public class VodSdkTest {String accessKeyId = "你的accessKeyId";String accessKeySecret = "你的accessKeySecret";}

三、创建测试用例

参考文档:https://help.aliyun.com/document_detail/61064.html

1、获取视频播放凭证

根据文档中的代码,修改如下

/*** 获取视频播放凭证* @throws ClientException*/
@Test
public void testGetVideoPlayAuth() throws ClientException {//初始化客户端、请求对象和相应对象DefaultAcsClient client = AliyunVodSDKUtils.initVodClient(accessKeyId, accessKeySecret);GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();try {//设置请求参数request.setVideoId("视频ID");//获取请求响应response = client.getAcsResponse(request);//输出请求结果//播放凭证System.out.print("PlayAuth = " + response.getPlayAuth() + "\n");//VideoMeta信息System.out.print("VideoMeta.Title = " + response.getVideoMeta().getTitle() + "\n");} catch (Exception e) {System.out.print("ErrorMessage = " + e.getLocalizedMessage());}System.out.print("RequestId = " + response.getRequestId() + "\n");
}

2、获取视频播放地址

/*** 获取视频播放地址* @throws ClientException*/
@Test
public void testGetPlayInfo() throws ClientException {//初始化客户端、请求对象和相应对象DefaultAcsClient client = AliyunVodSDKUtils.initVodClient(accessKeyId, accessKeySecret);GetPlayInfoRequest request = new GetPlayInfoRequest();GetPlayInfoResponse response = new GetPlayInfoResponse();try {//设置请求参数//注意:这里只能获取非加密视频的播放地址request.setVideoId("视频ID");//获取请求响应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");} catch (Exception e) {System.out.print("ErrorMessage = " + e.getLocalizedMessage());}System.out.print("RequestId = " + response.getRequestId() + "\n");
}

文件上传测试

参考文档:https://help.aliyun.com/document_detail/53406.html

一、安装SDK

1、配置pom

<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>

2、安装非开源jar包

注意:
由于部分jar包官方并没有正式开源 所以需要手动导入,详细看API
https://help.aliyun.com/document_detail/53406.html

在本地Maven仓库中安装jar包:

下载视频上传SDK,解压,命令行进入lib目录,执行以下代码
mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.11 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.11.jar
然后在pom中引入jar包

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-sdk-vod-upload</artifactId><version>1.4.11</version>
</dependency>

二、测试

1、创建测试文件

 @org.junit.Testpublic void addVod(){String accessKeyId = "LTAI5tAfVL8z2XS7kifne2d9";String accessKeySecret = "D7ZnweBh6KkLwrzUYDOx63JsIlQvGs";String title = "textdemo01-INSPIRE";String fileName = "C:\\Users\\asus\\Videos\\INSPIRE.mp4";UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);/* 可指定分片上传时每个分片的大小,默认为2M字节 */request.setPartSize(2 * 1024 * 1024L);/* 可指定分片上传时的并发线程数,默认为1,(注:该配置会占用服务器CPU资源,需根据服务器情况指定)*/request.setTaskNum(1);
//    /* 是否开启断点续传, 默认断点续传功能关闭。当网络不稳定或者程序崩溃时,再次发起相同上传请求,可以继续未完成的上传任务,适用于超时3000秒仍不能上传完成的大文件。
//    注意: 断点续传开启后,会在上传过程中将上传位置写入本地磁盘文件,影响文件上传速度,请您根据实际情况选择是否开启*/
//        //request.setEnableCheckpoint(false);
//        /* OSS慢请求日志打印超时时间,是指每个分片上传时间超过该阈值时会打印debug日志,如果想屏蔽此日志,请调整该阈值。单位: 毫秒,默认为300000毫秒*/
//        //request.setSlowRequestsThreshold(300000L);
//        /* 可指定每个分片慢请求时打印日志的时间阈值,默认为300s*/
//        //request.setSlowRequestsThreshold(300000L);
//        /* 是否显示水印(可选),指定模板组ID时,根据模板组配置确定是否显示水印*/
//        //request.setIsShowWaterMark(true);
//        /* 自定义消息回调设置(可选),参数说明参考文档 https://help.aliyun.com/document_detail/86952.html#UserData */
//        // request.setUserData("{\"Extend\":{\"test\":\"www\",\"localId\":\"xxxx\"},\"MessageCallback\":{\"CallbackURL\":\"http://test.test.com\"}}");
//        /* 视频分类ID(可选) */
//        //request.setCateId(0);
//        /* 视频标签,多个用逗号分隔(可选) */
//        //request.setTags("标签1,标签2");
//        /* 视频描述(可选) */
//        //request.setDescription("视频描述");
//        /* 封面图片(可选) */
//        //request.setCoverURL("http://cover.sample.com/sample.jpg");
//        /* 模板组ID(可选) */
//        //request.setTemplateGroupId("8c4792cbc8694e7084fd5330e56a33d");
//        /* 工作流ID(可选) */
//        //request.setWorkflowId("d4430d07361f0*be1339577859b0177b");
//        /* 存储区域(可选) */
//        //request.setStorageLocation("in-201703232118266-5sejdln9o.oss-cn-shanghai.aliyuncs.com");
//        /* 开启默认上传进度回调 */
//        //request.setPrintProgress(false);
//        /* 设置自定义上传进度回调 (必须继承 VoDProgressListener) */
//        //request.setProgressListener(new PutObjectProgressListener());
//        /* 设置您实现的生成STS信息的接口实现类*/
//        // request.setVoDRefreshSTSTokenListener(new RefreshSTSTokenImpl());
//        /* 设置应用ID*/
//        //request.setAppId("app-1000000");
//        /* 点播服务接入点 */
//        //request.setApiRegionId("cn-shanghai");
//        /* ECS部署区域*/
//        // request.setEcsRegionId("cn-shanghai");UploadVideoImpl uploader = new UploadVideoImpl();UploadVideoResponse response = uploader.uploadVideo(request);System.out.print("RequestId=" + response.getRequestId() + "\n");  //请求视频点播服务的请求IDif (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");}}

阿里云视频点播服务SDK的使用,视频文件上传测试相关推荐

  1. 微信小程序云开发---vant组件 van-uploader 实现视频文件上传到云存储,发动态功能

    pages/upVideo.wxml //获取用户的头像和昵称展示 <view class="headerBox"><image src="{{user ...

  2. Golang操作阿里云视频点播服务上传音视频

    刚刚了解了OSS存储,现在需要了解视频点播服务,什么是视频点播服务?为什么需要视频点播服务?OSS存储不是可以直接存储视频吗? 其实我也不很清楚,只是大体上知道视频点播服务是专门云端存储视频的,相比于 ...

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

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

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

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

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

    阿里云视频点播服务的开通和使用 文章目录 阿里云视频点播服务的开通和使用 前言:什么是阿里云视频点播服务? 一.开通阿里云视频点播服务 二.控制台基本操作 三.JAVA JDK操作阿里云视频点播服务 ...

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

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

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

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

  8. 阿里云视频点播PHP sdk上传文件

    我们使用的是PHP VodUploadSDK-PHP_1.0.2 sdk参考文档地址: https://help.aliyun.com/document_detail/100976.html?spm= ...

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

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

最新文章

  1. mac好用大java_好用,小个头大本事!Mac下轻量级清理软件。
  2. java多线程------实现多线程两种方式
  3. 小孩都看得懂的推荐系统
  4. mac使用brew update无反应解决办法
  5. java中一个线程最小优先数_Java线程的优先级
  6. Android系统(24)---Android应用架构
  7. BCB 连接数据库和查询数据
  8. Socket TCP UDP
  9. Matlab中数组的常见用法
  10. 如何将浮点数点左边的数每三位添加一个逗号,如12000000.11转化为『12,000,000.11』...
  11. 木马 --- 基本概念和分类
  12. vue验证码图片显示不出来,将图片转换为base64格式显示
  13. 欧阳青C语言,[转载]恨君爱 作者 欧阳青
  14. 用友U9 BP不执行
  15. css3中-moz、-ms、-webkit、-o 各是什么意思
  16. 手上长有透明液体的小疙瘩并脱皮怎么办?
  17. 【干货】剖析大数据分析方法论的几种理论模型(文末有福利哦)
  18. 让App推广运营更高效,必须要有这几大功能!
  19. iOS客户端开启FTP,其他设备访问手机本地文件操作实现
  20. 凡事不可过....久视伤血,久卧伤气,久坐伤肉,久立伤骨,久行伤筯(摘于好友QQ)

热门文章

  1. 磁碟机变种简单分析(lsass.exe、smss.exe、dnsq.dll、NetApi000.sys)
  2. Java 计算奇数偶数
  3. 系统性能优化的十大策略(强烈推荐,建议收藏)
  4. 计算机提示无法识别usb,电脑提示“无法识别的USB设备”如何解决?
  5. 抖音协议算法教- API学习
  6. 埃尔米特曲线 Hermite Curve
  7. 【每日随笔】记录完整的劳动仲裁过程 一 ( 赢火虫律师平台 | 赢火虫手机端跟进案件信息 | 等待律师接单 | 提交信息给律师 )
  8. 一秒解决笔记本无法连接网络问题——解决笔记本插网线,显示未识别网络。
  9. scratch python插件_scratch插件开发文档
  10. origin画对数坐标_Origin 画对数坐标图