网站首页 > 基础教程 正文
阿里云视频点播(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/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
});
知识付费阿里云视频点播就是这样的流程;
如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: http://github.crmeb.net/u/defu 不胜感激 !
猜你喜欢
- 2024-12-12 JS逆向so easy?以Python方式进行签名算法还原(附案例分享)
- 2024-12-12 超强指南!Golang 并发编程
- 2024-12-12 python办公案例:使用联系人信息,如何制作通讯录VCF文件
- 2024-12-12 Linux C 编程 - 详解floor函数、ceil函数和round函数
- 2024-12-12 根据年月计算当月有哪几个周,及每周的起止日期
- 2024-12-12 借助云开发实现短信验证码的发送,你会了么
- 2024-12-12 游戏系统中的伪随机和真随机算法实现Python3
- 2024-12-12 Python tkinter 点名工具
- 2024-12-12 Ae随机表达式控制小数点位数
- 2024-12-12 Axure教程--页面载入进度条
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)