阿里云视频点播(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获得临时链接。
阿里云文档连接:
实例化播放器
new aliplayer({
id: ‘player’,
vid: videoid,
playauth: playauth,
format: ‘mp3’,
mediatype: ‘audio’,
encrypttype: 1,
autoplay: false
});
知识付费阿里云视频点播就是这样的流程;