腾讯云云点播小程序端上传 SDK_音视频解决方案_同尘科技
小程序端上传视频的 SDK。上传流程请参见 客户端上传指引。如果您需要 SDK 源码,可访问 SDK 源码。如果您需要 Demo 源码,可访问 Demo 源码。
上传视频步骤
1. 引入 SDK直接引入文件
const VodUploader = require('../../lib/vod-wx-sdk-v2.js');
npm 安装
npm i vod-wx-sdk-v2
2. 定义获取上传签名的函数
getSignature: function(callback) { wx.request({ /** * 此处省略部分代码 */ url: url, success: function(res) { callback(signature) } });}
说明:url
是您派发签名服务的 URL,参见 客户端上传指引。signature
计算规则可参考 客户端上传签名。应用、视频文件分类、任务流等信息都包含在上传签名中,更多相关信息请参见 签名参数说明。3. 上传视频上传视频是通过调用VodUploader.start
来实现的,选择视频则通过微信小程序 API 中的wx.chooseVideo
方法实现。示例如下:
const uploader = VodUploader.start({ // 必填,把 wx.chooseVideo 回调的参数(file)传进来 mediaFile: videoFile, // 必填,获取签名的函数 getSignature: getSignature, // 选填,视频名称,强烈推荐填写(如果不填,则默认为“来自小程序”) mediaName: fileName, // 选填,视频封面,把 wx.chooseImage 回调的参数(file)传进来 coverFile: coverFile, // 上传中回调,获取上传进度等信息 progress: function(result) { console.log('progress'); console.log(result); }, // 上传完成回调,获取上传后的视频 URL 等信息 finish: function(result) { console.log('finish'); console.log(result); wx.showModal({ title: '上传成功', content: 'fileId:' + result.fileId + '\nvideoName:' + result.videoName, showCancel: false }); }, // 上传错误回调,处理异常 error: function(result) { console.log('error'); console.log(result); wx.showModal({ title: '上传失败', content: JSON.stringify(result), showCancel: false }); },});
说明:如需上传至指定应用下,请参见 应用体系 – 客户端上传。
接口描述
VodUploader.start
参数名称 | 必填 | 类型 | 参数描述 |
getSignature | 是 | Function | 获取上传签名的函数。 |
mediaFile | 是 | file | wx.chooseVideo 回调返回的文件对象。 |
reportId | 否 | number | 填入后,会携带上报至点播后台。 |
mediaName | 否 | string | 视频名称,推荐填写(如果不填,则默认为“来自小程序”)。 |
coverFile | 否 | file | 视频封面,wx.chooseImage 回调返回的文件对象。 |
fileParallelLimit | 否 | number | 同一个实例下上传的文件并发数,默认值3。 |
chunkParallelLimit | 否 | number | 同一个上传文件的分块并发数,默认值6。 |
chunkRetryTimes | 否 | number | 分块上传时,出错重试次数,默认值2(加第一次,请求共3次)。 |
chunkSize | 否 | number | 分块上传时,每片的字节数大小,默认值8388608(8MB)。 |
progressInterval | 否 | number | 上传进度的回调方法 onProgress 的回调频率,单位 ms ,默认值1000。 |
progress | 是 | Function | 上传 progress 事件回调,返回上传进度等信息。 |
finish | 是 | Function | 上传结束回调,返回 fileId 等信息。 |
error | 是 | Function | 错误处理回调。 |
progress 回调
字段名 | 类型 | 字段描述 |
loaded | number | 已上传大小。 |
percent | number | 已上传大小百分比。 |
speed | number | 上传速度。 |
total | number | 总大小。 |
finish 回调
字段名 | 类型 | 字段描述 |
coverUrl | string | 封面图 URL,如未上传封面则此处为 undefined。 |
fileId | string | 视频 fileId。 |
videoName | string | 视频名称。 |
videoUrl | string | 视频链接。 |
error 回调
字段名 | 类型 | 字段描述 |
code | number | 错误码。 |
message | string | 错误信息。 |
其他说明
1. 由于小程序没有获取真实文件名的 API,所以需要在上传视频时指定视频名称。如不传入mediaName
,SDK 会设置视频名称为“来自小程序”。2. 默认支持断点续传和分片上传。3. 小程序域名信息中,request
和uploadFile
为合法域名,只需加上vod2.qcloud.com
即可。4. 小程序端默认判断当前页面的域名是 http: 时,使用 http: 域名上传。若判断域名非 http: 时,则使用 https: 域名上传。 5. uni-app 集成小程序上传 SDK,因平台限制,仅在微信和 QQ 等部分小程序平台支持分片上传,Android 和 iOS 平台 App 建议集成原生上传 SDK,否则可能影响大文件的上传质量。
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?