阿里云视频点播(VOD)是集音视频上传、自动化转码处理、媒体资源管理、分发加速于一体的全链路音视频点播服务。借助灵活、可伸缩的存储、处理及内容分发服务,帮助企业和开发者快速搭建安全、弹性、高可定制的点播平台和应用,提供端到端的完整解决方案。

第一步:安装
在页面上引入下面三个JS脚本,见 视频上传SDK下载。

  <script src="../lib/es6-promise.min.js"></script><script src="../lib/aliyun-oss-sdk6.10.0.min.js"></script><script src="../aliyun-vod-upload-sdk1.5.2.min.js"></script>

第二步:页面js上传代码
请求上传地址加凭证
上传图片和上传视频获取上传地址和凭证所请求的API是不同的。 客户端上传视频:需要请求向AppServer发送请求,AppServer通过OpenApi向阿里云点播服务发送CreateUploadVideo请求。请求成功将返回上传地址,上传凭证以及VideoId,AppServer需要将结果返回给客户端。 客户端上传图片:需要请求向AppServer发送请求,AppServer通过OpenApi向阿里云点播服务发送CreateUploadImage请求。请求成功将返回上传地址,上传凭证以及ImageURL,AppServer需要将结果返回给客户端,然后通过上传地址,上传凭证上传图片,后面流程和上传视频一样,不过不需要处理断点续传,因为图片没有续传功能。
上传地址和凭证方式(推荐使用)
首先请求获取的上传地址和凭证初始化时无需设置,而是在开始上传开始后触发的onUploadStarted回调中调用setUploadAuthAndAddress(uploadFileInfo, uploadAuth, uploadAddress,videoId);方法进行设置。 当token超时,会触发onUploadTokenExpired回调,需要调用resumeUploadWithAuth(uploadAuth)方法,设置新的上传凭证继续上传。

示例代码
var uploader = new AliyunUpload.Vod({
timeout: 60000,
partSize:  1048576,
parallel: 5,
retryCount:3,
retryDuration: 2,
region: cn-shanghai,
userId: ‘12232’,
// 添加文件成功
addFileSuccess: function (uploadInfo) {
},
// 开始上传
onUploadstarted: function (uploadInfo) {
// 如果是 UploadAuth 上传方式, 需要调用 uploader.setUploadAuthAndAddress 方法
// 如果是 UploadAuth 上传方式, 需要根据 uploadInfo.videoId是否有值,调用点播的不同接口获取uploadauth和uploadAddress
// 如果 uploadInfo.videoId 有值,调用刷新视频上传凭证接口,否则调用创建视频上传凭证接口
// 注意: 这里是测试 demo 所以直接调用了获取 UploadAuth 的测试接口, 用户在使用时需要判断 uploadInfo.videoId 存在与否从而调用 openApi
// 如果 uploadInfo.videoId 存在, 调用 刷新视频上传凭证接口(https://help.aliyun.com/document_detail/55408.html)
// 如果 uploadInfo.videoId 不存在,调用 获取视频上传地址和凭证接口(https://help.aliyun.com/document_detail/55407.html)
if (!uploadInfo.videoId) {
var createUrl = 'https://demo-vod.cn-shanghai.aliyuncs.com/voddemo/CreateUploadVideo?Title=testvod1&FileName=aa.mp4&BusinessType=vodai&TerminalType=pc&DeviceModel=iPhone9,2&UUID=59ECA-4193-4695-94DD-7E1247288&AppVersion=1.0.0&VideoId=5bfcc7864fc14b96972842172207c9e6'
$.get(createUrl, function (data) {
var uploadAuth = data.UploadAuth
var uploadAddress = data.UploadAddress
var videoId = data.VideoId
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress,videoId)
}, 'json')
} else {
// 如果videoId有值,根据videoId刷新上传凭证
// https://help.aliyun.com/document_detail/55408.html?spm=a2c4g.11186623.6.630.BoYYcY
var refreshUrl = 'https://demo-vod.cn-shanghai.aliyuncs.com/voddemo/RefreshUploadVideo?BusinessType=vodai&TerminalType=pc&DeviceModel=iPhone9,2&UUID=59ECA-4193-4695-94DD-7E1247288&AppVersion=1.0.0&Title=haha1&FileName=xxx.mp4&VideoId=' + uploadInfo.videoId
$.get(refreshUrl, function (data) {
var uploadAuth = data.UploadAuth
var uploadAddress = data.UploadAddress
var videoId = data.VideoId
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress,videoId)
}, 'json')
}
},
// 文件上传成功
onUploadSucceed: function (uploadInfo) {
},
// 文件上传失败
onUploadFailed: function (uploadInfo, code, message) {
},
// 取消文件上传
onUploadCanceled: function (uploadInfo, code, message) {
},
// 文件上传进度,单位:字节, 可以在这个函数中拿到上传进度并显示在页面上
onUploadProgress: function (uploadInfo, totalSize, progress) {var progressPercent = Math.ceil(progress * 100)
},
// 上传凭证超时
onUploadTokenExpired: function (uploadInfo) {
// 上传大文件超时, 如果是上传方式一即根据 UploadAuth 上传时
// 需要根据 uploadInfo.videoId 调用刷新视频上传凭证接口(https://help.aliyun.com/document_detail/55408.html)重新获取 UploadAuth
// 然后调用 resumeUploadWithAuth 方法, 这里是测试接口, 所以我直接获取了 UploadAuth
$('#status').text('文件上传超时!')let refreshUrl = 'https://demo-vod.cn-shanghai.aliyuncs.com/voddemo/RefreshUploadVideo?BusinessType=vodai&TerminalType=pc&DeviceModel=iPhone9,2&UUID=59ECA-4193-4695-94DD-7E1247288&AppVersion=1.0.0&Title=haha1&FileName=xxx.mp4&VideoId=' + uploadInfo.videoId
$.get(refreshUrl, function (data) {
var uploadAuth = data.UploadAuth
uploader.resumeUploadWithAuth(uploadAuth)
console.log('upload expired and resume upload with uploadauth ' + uploadAuth)
}, 'json')
},
// 全部文件上传结束
onUploadEnd: function (uploadInfo) {
$('#status').text('文件上传完毕!')
console.log("onUploadEnd: uploaded all the files")
}
})

第三步:获取视频上传地址和凭证
阿里云文档地址:https://help.aliyun.com/document_detail/55407.html?spm=a2c4g.11186623.6.717.4e217971q8IIKf

  将提交的数据和公共参数以&符拼接,如:http://vod.cn-shanghai.aliyuncs.com/?Action=CreateUploadVideo&Title=exampleTitle&FileName=example.avi&FileSize=10485760&Format=JSON&<公共参数>

使用js来完成上传:

var createUrl = 'https://demo-vod.cn-shanghai.aliyuncs.com/voddemo/CreateUploadVideo?Title=testvod1&FileName=aa.mp4&BusinessType=vodai&TerminalType=pc&DeviceModel=iPhone9,2&UUID=59ECA-4193-4695-94DD-7E1247288&AppVersion=1.0.0&VideoId=5bfcc7864fc14b96972842172207c9e6'
$.get(createUrl, function (data) {
var uploadAuth = data.UploadAuth
var uploadAddress = data.UploadAddress
var videoId = data.VideoId
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress,videoId)
}, 'json')

第四步:保存上传数据
保存上传时生成的videoId值,播放时会需要
第五步:播放连接
我们使用获取视频播放凭证,来在阿里云播放器播放;
阿里云文档连接:
https://help.aliyun.com/document_detail/52833.html?spm=a2c4g.11186623.6.728.392258fcAl0XGb
实例化播放器

new Aliplayer({id: 'player',vid: VideoId,playauth: PlayAuth,format: 'mp3',mediaType: 'audio',encryptType: 1,autoplay: false
});

OK

在CRMEB知识付费系统中后台使用该功能上传音视频
开源地址:http://github.crmeb.net/u/lsq

PHP对接阿里云视频点播相关推荐

  1. 微信小程序对接阿里云视频点播,备忘

    upvideo(){var aliOssParams = util.aliOssParams();//主要是获取上传阿里云的加密策略policy和签名signature;以及上传自己要上传到阿里云的地 ...

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

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

  3. 阿里云视频点播-对接注意点

    阿里云视频点播-对接注意点 ​ 对接接阿里云的视频点播过程有点繁琐,做个记录以便以后查阅 一.分发加速配置-域名管理 ​ 配置成功的前提是自己先要有个主域名,并且成功备案. 1.先配置一个域名 2.配 ...

  4. edusoho对接腾讯会议直播功能 直播结束自动转存阿里云视频点播

    edusoho的TxMeetingPlugin腾讯会议插件代码压缩包已经发布了 可以免费下载 测试交流学习使用 免费下载 https://download.csdn.net/download/with ...

  5. Edusoho网校对接阿里云视频vod实现CDN云视频加速播放OSS

    操作系统: Linux 推荐使用Ubuntu,CentOS Web服务器: 推荐Nginx或Apache2 MYSQL数据库: 推荐5.5及以上版本 主要文件目录结构说明 目录 说明 App 应用程序 ...

  6. Rancher通过Aliyun-slb服务对接阿里云SLB教程

    阿里云负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS)的流量分发控制服务. 本文将详尽演示Rancher如何通过Aliyun-slb服务对接 ...

  7. 玩转短视频?守护视频安全?AI智能提速?一分钱体验? 阿里云视频点播大招盘点...

    摘要: 前言 随着近几年在线视频市场规模不断扩大,内容不断创新,用户粘性增加,在线视频市场的商业价值不断增长,各垂直行业纷纷引入视频能力,一时之间,视频已经成为了众多移动APP和在线平台沉淀用户的有效 ...

  8. IDC机房对接阿里云

    此篇文章主要内容为自有IDC机房Server对接阿里云的场景,此实验前提为私有IDC机房需和阿里云机房有物理链路对接,实验阿里云上产品均使用按量计费,为方便测试,具体如下拓扑: 网络拓扑(取材自阿里云 ...

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

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

最新文章

  1. 编译nginx时的两个报错
  2. zend frameword加载已有文件
  3. SQL Server 2012中的ColumnStore Index尝试
  4. scjp考试准备 - 4 - 关于数组
  5. if delete annotation.xml in project folder, not local service folder
  6. Xamarin.Forms客户端第一版
  7. Spring Data JPA 从入门到精通~自定义实现Repository
  8. 关于“数据中心”的最强入门科普
  9. Linux下查看物理CPU、逻辑CPU和CPU核数
  10. nvidia的jetson系列的方案_NVIDIAJetson系统在工业网络中的集成
  11. Java 高级知识系列篇
  12. 华硕ASUS acrh17 PandoraBox固件
  13. 达内java学习笔记
  14. 交友盲盒小程序版本 全开源版本
  15. 解决Windows照片查看器加载慢和颜色问题
  16. win10怎么隐藏桌面计算机,Win10隐藏秘技大公开
  17. PAKDD2018小结
  18. android 经典rpg,安卓TOP10:SE经典RPG游戏《最终幻想7》领衔
  19. 少儿美术课儿童画之水彩画第3集《高高的长颈鹿》
  20. 第 256 场力扣周赛(状态压缩+dp,二进制子序列的动规、940)

热门文章

  1. 习题11-1 输出月份英文名
  2. openjudge 1.7.18 验证子串
  3. 阿里十大开源项目,看看你用过几个
  4. Hadoop实战演练:搜索数据分析----多个不同的Job进行串连(4)
  5. 更新DOTA2显示无法连接到更新服务器,9月26日DOTA2无法正常更新问题公告
  6. 如何升级XP到SP3
  7. C++——构造函数、析构函数以及复制构造函数
  8. 2021年R2移动式压力容器充装考试题及R2移动式压力容器充装操作证考试
  9. juniper 10i CFEB故障处理
  10. 汽车液压制动系统设计