目录

  • 前言
  • 一、目的
  • 二、实现步骤
    • 1.准备操作
    • 2.主要使用模块
      • 2.1. 上传音频
      • 2.2. 添加转码设置
    • 3.搭建视频点播环境
      • 3.1.配置Maven仓库
      • 3.2.添加jar依赖
      • 3.3.上传视频
      • 3.4.初始化点播服务
      • 3.5.根据视频ID获取视频地址
      • 3.6.根据视频ID删除阿里云中视频
      • 3.7.根据视频ID集合删除
  • 三、问题
    • 1.阿里云问题
      • 1.1.原因
      • 1.2.解决方法
    • 2.Nginx问题
      • 2.1.原因
      • 2.2.解决办法
  • 四、总结

前言

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


一、目的

通过Java实现将本地视频上传到阿里云视频点播仓库,实现云服务存储的目的(免费)

二、实现步骤

1.准备操作

登录阿里云,找到《视频点播》选择“按流量计费”进行注册开通

2.主要使用模块

2.1. 上传音频

进入点播控制台,找到媒资库=》音/视频,上传的视频都存放在此

2.2. 添加转码设置

作用:如果不添加转码设置,用户上传的视频播放时播放的类型就是原画质,配置转码可设置视频的清晰度,播放格式
步骤:进入点播控制台,找到配置管理=》媒体处理配置=》转码模板组=》添加转码模板组

3.搭建视频点播环境

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

3.2.添加jar依赖

<dependencies><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId></dependency><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-vod</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency><dependency><groupId>org.json</groupId><artifactId>json</artifactId></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-sdk-vod-upload</artifactId></dependency>
</dependencies>

3.3.上传视频

//原视频名称
String fileName = file.getOriginalFilename();
//阿里云上视频显示名称
String title=fileName.substring(0,fileName.lastIndexOf("."));
//文件输入流
InputStream inputStream = file.getInputStream();
//配置上传文件对象:KEY和SCERET填写自己阿里云的密钥
UploadStreamRequest request = new UploadStreamRequest(KEY, SCERET, title, fileName, inputStream);
UploadVideoImpl uploader = new UploadVideoImpl();
//实现上传
UploadStreamResponse response = uploader.uploadStream(request);
//可通过如下代码获得存储在阿里云上的视频id
String videoId= response.getVideoId();

3.4.初始化点播服务

根据阿里云账号的key和Secret获取一个client初始对象

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.5.根据视频ID获取视频地址

//1.创建初始化对象
DefaultAcsClient client = InitVodClient.initVodClient(KEY,SCERET);
//2.创建获取视频地址request和response
GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
//3.向request中设置视频ID
request.setVideoId(id);
//4.调用初始化对象里面的方法,传递request
GetVideoPlayAuthResponse response  = client.getAcsResponse(request);
//Base信息
String playAuth = response.getPlayAuth();

3.6.根据视频ID删除阿里云中视频

//创建client初始对象
DefaultAcsClient client = InitVodClient.initVodClient(KEY,SCERET);
//创建删除request对象
DeleteVideoRequest request = new DeleteVideoRequest();
//设置视频id到request中
request.setVideoIds(id);
//调用client对象引用request方法
client.getAcsResponse(request);

3.7.根据视频ID集合删除

//创建client初始对象
DefaultAcsClient client = InitVodClient.initVodClient(KEY,SCERET);
//创建删除request对象
DeleteVideoRequest request = new DeleteVideoRequest();
//讲视频id集合格式化:1,2,3
String videoIds = StringUtils.join(videoList.toArray(),",");
//设置视频id到request中
request.setVideoIds(videoIds);
//调用client对象引用request方法
client.getAcsResponse(request);

三、问题

上传视频太大导致上传失败

1.阿里云问题

1.1.原因

阿里云视频点播默认上传视频大小只有1MB

1.2.解决方法

在application中添加上传文件大小配置即可

# 最大单个上传文件的大小,默认1M
spring.servlet.multipart.max-file-size=1024MB
# 最大值总文件上传文件的大小,默认1M
spring.servlet.multipart.max-request-size=1024MB

2.Nginx问题

2.1.原因

Nginx中也有默认上传文件大小,默认为1M

2.2.解决办法

在Nginx的配置文件nginx.conf中找到http{},在里面加入配置可上传文件大小

http {include       mime.types;default_type  application/octet-stream;client_max_body_size 1024m;...
}

四、总结

通过阿里云视频点播实现视频上传,总体来说实现较为简单,方法固定只需要通过更改不同的request对象即可完成获取视频信息、删除视频等功能。且以阿里云目前在国内的“统治力”,上传的文件安全性完全可以保障,懂得都懂,还是免费的。。。

使用阿里云视频点播上传视频相关推荐

  1. 【springboot】实现阿里云视频点播上传视频

    阿里云视频点播 1.开通视频点播服务,选择按流量计费,对于个人项目来说,相当于免费. 2.开启存储管理 3.设置转码模板组.设置加密,如果不加密,别人只要获取到你视频的url就可以免费观看,但进行了加 ...

  2. 阿里云视频点播上传视频和获取视频播放地址

    参考官方文档: Python上传SDK-普通文件上传.获取播放地址 本文只对上传视频和获取单个视频播放地址操作.更多案例如批量获取所有视频列表等操作请直接参考官方文档: 媒体管理 一.上传视频:上传完 ...

  3. 阿里云视频点播上传,官网后台始终显示视频上传中的问题

    这是由于阿里云视频点播相关依赖版本问题造成的. 项目中的各个依赖版本必须与阿里云官网java上传SDK示例中各个依赖的版本严格对应! 1.阿里云视频点播后台依赖引入示例 2.项目中实际依赖要与之对应 ...

  4. 阿里云视频点播上传与url播放

    1.创建accesskeys 2.获取新的UploadAuth,UploadAddress和videoId 参考地址:https://help.aliyun.com/document_detail/5 ...

  5. 关于使用校园网的时候使用阿里云视频点播上传服务失败的解决方法

    问题描述 昨天我使用阿里云的视频点播的时候,发现上传视频一直失败: 然后我去找了售后人员,最后知道问题的根源可能出在校园网上,然后我去问了校园网的工作人员,还是解决不了,于是我就想,能不能直接访问ip ...

  6. 阿里云SDK上传视频

    1.老样子,先看效果图 2.首先到阿里云下载所需要用到的SDK 3.下载好的,解压之后,目录以及运行起来是以下这个样子的 4.在实际项目中引用,先将SDK添加到项目中,放到public目录下 5.在p ...

  7. java 阿里云视频点播上传

    java SDK一定要严格按照官方给的版本号引用,否者上传之后就一直在那转圈圈,不成功!!!一定要注意!!!

  8. 小程序中使用阿里云oss上传视频怎么获得视频截图?

    在视频地址后面加上如下的后缀,就可以获取视频内部帧图片,当作封面使用. ?x-oss-process=video/snapshot,t_1000,m_fast ?x-oss-process=video ...

  9. springboot整合阿里云oss上传的方法示例

    这篇文章主要介绍了springboot整合阿里云oss上传的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 OSS申请和 ...

最新文章

  1. graphlab中SFrame用法
  2. oracle全文索引的简单配置
  3. Reallusion Character Creator 3中文版
  4. python 多线程 线程如何获得返回值 (重写threading.Thread类)
  5. boost::spirit模块实现将由某个分隔符分隔的任意键/值对解析为 std::vector的测试程序
  6. [leetcode]27.移除元素
  7. 学生电脑哪个牌子好_双开门冰箱哪个牌子好 双开门冰箱什么牌子好
  8. 三层交换机关于VLAN的划分以及ACL的使用
  9. tomcat access log pattern
  10. HTML九宫格拼图游戏代码,js实现九宫格拼图小游戏
  11. 头条推荐越来越少是否还要坚持下去
  12. python——【2】gzip模块二进制格式读取压缩文件
  13. 关于nohup,sh,命令执行xxx.sh脚本的区别
  14. 破解魔术的秘密(一)——直面秘密的角落
  15. ESIM模型的“全能版”!网易易盾实验室研究员解读HIM混合推理模型
  16. Q/GDW 376.2集中器本地通信模块接口协议测试方法
  17. Docker常用命令大全(万字详解)
  18. matlab pca函数怎么用,matlab的pca函数说明
  19. lg空调代码大全解决_lg空调故障代码是什么意思 lg空调故障代码大全【详解】...
  20. 组策略应用之一——软件分发

热门文章

  1. 六轴机器人运动学正解
  2. js 生成条形码例子
  3. Hough变换直线检测
  4. 除霾神器:中科爱讯推出BHU智能新风机,让你呼吸森林空气
  5. unity塔防游戏怪物转向_英雄塔防物语游戏下载-英雄塔防物语官方版 v2.3.8最新版...
  6. 在Geany里配置python3的方法!!!含window10下载Geany过程
  7. 妙用分部积分处理双重积分
  8. 合影效果java_【蚂蚁课堂】四十三:如何拍酷炫集体照?
  9. 【元胞自动机】基于元胞自动机实现高速公路收费站交通流问题附matlab代码
  10. 查看mysql端口 windows_Windows运维之windows下如何查看和修改MySQL的端口号