使用阿里云视频点播上传视频

目录

    • 前言
    • 一、目的
    • 二、实现步骤
      • 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对象即可完成获取视频信息、删除视频等功能。且以阿里云目前在国内的“统治力”,上传的文件安全性完全可以保障,懂得都懂,还是免费的。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253564.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

什么是视频点播(VOD)?

点击上方“LiveVideoStack”关注我们 翻译 | Alex 技术审校 | 赵军 本文来自OTTVerse&#xff0c;作者为Krishna Rao Vijayanagar。 点播 Easy Tech #012# VOD代表Video on Demand&#xff08;视频点播&#xff09;&#xff0c;这种视频流化和交付技术使人们可以随时随地在任何…

php视频点播系统,PHPvod 视频点播系统 v3.1 for php5.4.x

PHPvod是一款免费开源&#xff0c;基于PHPMysql开发的视频点播系统&#xff0c;系统拥有众多的优秀功能和特性&#xff0c;在社区成员的积极参与下&#xff0c;在易用性、扩展性和性能方面不断优化和改进&#xff0c;使得PHPvod可以在极为繁忙的服务器环境下快速稳定运行&#…

开源的在线视频点播系统,值得分享!

平时做一些商业的项目。大家都知道&#xff0c;github是程序员的天堂&#xff0c;大家要好好利用。 今天给大家推荐的这个开源项目来自于读者的投稿&#xff0c;我感觉非常不错&#xff0c;就在这里推荐给大家&#xff0c;如果你也有好的开源项目&#xff0c;我也可以帮你推荐…

uniapp - 腾讯云点播小程序插件

欢迎关注微信公众号&#xff1a;FSA全栈行动 &#x1f44b; 一、简介 微信小程序播放教育类视频要求具备有相关资质&#xff0c;但这些资质一般公司很难短时间申请下来&#xff08;甚至有的公司压根就申请不了&#xff09;&#xff0c;而【短视频播放器小程序插件】含有《信息…

免费视频直播、点播H5播放器SkeyeWebPlayer适配移动端

免费视频直播、点播H5播放器SkeyeWebPlayer适配排除&#xff0c;移动端&#xff0c;常见移动端Web页面问题及解决方案 SkeyeVSS其独创的ws-rtsp流媒体直播技术&#xff0c;兼容传统安防流媒体的同时&#xff0c;不需要安装浏览器插件&#xff0c;解决互联网接入安防监控延迟高…

JAVA在线教育视频点播学习系统毕业设计 开题报告

本文给出的java毕业设计开题报告&#xff0c;仅供参考&#xff01;&#xff08;具体模板和要求按照自己学校给的要求修改&#xff09; 选题目的和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于java的视频点播系统&#xff0c;系统整体使用了基于浏览的javaMy…

如何搭建视频点播服务

要搭建一套高效、稳定、可靠的视频点播服务&#xff0c;通常考虑视频资源的数量、视频资源的格式、用户量和并发量等方面因素&#xff0c;具体包括&#xff1a; 1)视频资源的数量和格式&#xff0c;以及增量情况&#xff1b; 2)播放终端的适配&#xff1b; 3)播放并发量、访问鉴…

直播和点播的区别

先总述直播和点播的不同点&#xff1a; 一、时效性要求不同 二、内容存在形式不同 三、运作流程不同 四、常见场景 五、技术架构 很多时候&#xff0c;大家对直播和点播的区别还是很模糊&#xff0c;仅仅停留在一种感觉上&#xff0c;如果视频画面是实时的就是直播&#…

服务器点播直播系统,服务器点播直播系统

服务器点播直播系统 内容精选 换一换 当保护组的生产站点发生故障时&#xff0c;将保护组的生产站点切到当前的容灾站点&#xff0c;即另一端AZ&#xff0c;启用当前容灾站点的云硬盘以及云服务器等资源。故障切换完成之后&#xff0c;保护组的当前生产站点变成故障切换发生之前…

电影服务器点播系统,网上电影注册点播系统

内容提要&#xff1a;【编号&#xff1a;001】电影网站&#xff0c;灵活运用了JSP技术和sqlserver数据库开发&#xff0c;实现了在线电影的播放和注册用户免费体验的功能。 功能模块图如下&#xff1a; 权限模块分为&#xff1a; 管理员&#xff1a; (1) 影片管理&#xff1a;管…

使用HTTP协议在k780网站上获取天气-----天气预报

文章目录 项目介绍一、项目任务二、项目流程规划以及代码实现1.总流程2.引入库3.总体流程相关函数 三、功能函数的实现1. TCP函数2. 输入城市信息3. 查询今天天气4. 查询未来一周天气5. 查询历史天气6. 退出 总结 项目介绍 本期主要使用TCP网络编程实现天气预报的功能&#xff…

免费视频直播点播服务器系统,搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件?...

原标题:搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件? 随着Internet的飞速发展,网上现场直播已经从实验阶段走向了实用阶段。各式各样的社会活动都可以借助网上现场直播方式传遍全世界,如新闻发布会、体育比赛、商贸展览、企业宣传、远程会议、远程看护…

解决Vmware上的kali找不到virtualbox上的靶机的问题

解决kali找不到靶场ip问题的完整方法 1.配置靶机2.配置kali的虚拟网络3.配置kali中的eth0网络 1.配置靶机 靶机部署在Virtualbox上对其进行网络配置&#xff0c;选择连接方式为仅主机&#xff08;Host-Only&#xff09;网络。 2.配置kali的虚拟网络 在编辑中选择虚拟网络配…

IDEA 安装配置步骤详解

引言 IntelliJ IDEA 是一款功能强大的集成开发环境&#xff0c;它具有许多优势&#xff0c;适用于各种开发过程。本文将介绍 IDEA 的主要优势&#xff0c;并提供详细的安装配置步骤。 介绍 IntelliJ IDEA&#xff08;以下简称 IDEA&#xff09;之所以被广泛使用&#xff0c;…

西门子S7200方案 西门子S7200方案CPu型号LPC2136

西门子S7200方案 西门子S7200方案CPu型号LPC2136 id584474406888&

S7200源码及PCB文件,S7 224XP 226图纸

S7200源码及PCB文件,S7 224XP 226图纸 id651541838037&

西门子S7200下载线驱动

西门子S7200下载线驱动是官方提供的一款USB驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决USB接口不能正常识别&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统。有需要的朋友…

西门子 S7200 以太网模块连接力控组态方法

ETH-YC模块转以太网&#xff0c;型号有MPI-ETH-YC01和PPI-ETH-YC01&#xff0c;适用于西门子S7-200/S7-300/S7-400、SMART S7-200、西门子数控840D、840DSL、合信、亿维PLC的PPI/MPI/PROFIBUS转以太网。用于西门子S7-200/S7-300/S7-400程序上下载、上位监控、设备联网和数据采集…

西门子 S7200 以太网模块连接组态王方法

ETH-YC模块&#xff0c;型号有MPI-ETH-YC01和PPI-ETH-YC01&#xff0c;适用于西门子S7-200/S7-300/S7-400、SMART S7-200、西门子数控840D、840DSL、合信、亿维PLC的PPI/MPI/PROFIBUS转以太网。用于西门子S7-200/S7-300/S7-400程序上下载、上位监控、设备联网和数据采集。支持与…

C# 语言 和西门子S7200 smart通信

C# 语言 和西门子S7200 smart通信 界面如截图所示&#xff0c;关注公众号Aidu_auto,回复软件包&#xff0c;获得DEMO(VS2013 C#) 支持断线重连&#xff01;详细情况见软件包帮助文件。 或百度网盘&#xff1a; 链接: https://pan.baidu.com/s/1WL9VhYg8QJHzjjZFeCZAWA 提取码…