全部
常见问题
产品动态
精选推荐

如何对接阿里云视频点播功能

管理 管理 编辑 删除

阿里云视频点播(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上传代码

请求上传地址加凭证

上传图片和上传视频获取上传地址和凭证所请求的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
});

这样就完成了阿里云视频点播的上传及播放

请登录后查看

全 最后编辑于2023-10-21 14:38:21

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
1079
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

管理员
暂无简介

回答

949

发布

143

经验

30571

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服