阿里云视频点播(VOD)是集音视频上传、自动化转码处理、媒体资源管理、分发加速于一体的全链路音视频点播服务。借助灵活、可伸缩的存储、处理及内容分发服务,帮助企业和开发者快速搭建安全、弹性、高可定制的点播平台和应用,提供端到端的完整解决方案。
第一步:安装
在页面上引入下面三个JS脚本,见 视频上传SDK下载。
<!-- IE需要es6-promise -->
<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上传代码
请求上传地址加凭证
上传地址和凭证方式(推荐使用)
首先请求获取的上传地址和凭证初始化时无需设置,而是在开始上传开始后触发的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) {
},
// 文件上传成功
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) {
},
// 全部文件上传结束
onUploadEnd: function (uploadInfo) {
$('#status').text('文件上传完毕!')
console.log("onUploadEnd: uploaded all the files")
}
})
第三步:获取视频上传地址和凭证
知识付费根目录extend/service/VodService.php中videoUploadAddressVoucher方法
主要获得视频上传地址和凭证;
使用js来完成上传:
var createUrl = 使用videoUploadAddressVoucher方法返回的链接;
$.get(createUrl, function (data) {
var uploadAuth = data.UploadAuth
var uploadAddress = data.UploadAddress
var videoId = data.VideoId
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress,videoId)
}, 'json')
第四步:保存上传数据
保存上传时生成的videoId值,播放时会需要
第五步:播放连接
我们使用获取视频播放凭证,来在阿里云播放器播放;
通过videoId获取视频点播的临时链接。知识付费根目录application/wap/controller/Special.php中的get_video_playback_credentials方法使用videoId获得临时链接。
阿里云文档连接:
https://help.aliyun.com/docum...
实例化播放器
new Aliplayer({
id: 'player',
vid: VideoId,
playauth: PlayAuth,
format: 'mp3',
mediaType: 'audio',
encryptType: 1,
autoplay: false
});
知识付费阿里云视频点播就是这样的流程;
如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: http://github.crmeb.net/u/defu 不胜感激 !
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。