详情页标题前

腾讯云云点播Web 端上传 SDK

详情页1

对于浏览器上传音视频的场景,云点播提供了 Web 上传 SDK。如果您需要 SDK 源码,可访问 SDK 源码

简单视频上传

引入 SDK

script 引入方式

未使用 webpack 的情况下,可通过 script 标签方式引入,该方式会暴露全局的 TcVod 变量。script 引入有下面两种方式:下载到本地
下载
SDK 源码 到本地,然后按以下方式引入:

<script src="./vod-js-sdk-v6.js"></script>

说明:引入路径请自行调整为您本地保存的路径。使用 CDN 资源
使用 CDN 资源,可直接按以下方式引入:

单击此处 查看 script 方式引入的 Demo,请 单击此处 查看 Demo 源码。

npm 引入方式

使用 webpack 的情况下(如使用 Vue 或者 React),可通过 npm 引入:

// 安装稳定版本// npm install vod-js-sdk-v6
import TcVod from 'vod-js-sdk-v6'

注意:SDK 依赖 Promise,请在低版本浏览器中自行引入。

定义获取上传签名的函数

function getSignature() {  return axios.post(url).then(function (response) {    return response.data.signature;  })};

说明:url是您派发签名服务的 URL,更多相关信息请参见 客户端上传指引signature计算规则请参见 客户端上传签名应用视频文件分类任务流等信息都包含在上传签名中,更多相关信息请参见 签名参数说明

上传视频示例

// 通过 import 引入的话,new TcVod(opts) 即可// new TcVod.default(opts) 是 script 引入 的用法const tcVod = new TcVod.default({  getSignature: getSignature // 前文中所述的获取上传签名的函数})
const uploader = tcVod.upload({ mediaFile: mediaFile, // 媒体文件(视频或音频或图片),类型为 File})uploader.on('media_progress', function(info) { console.log(info.percent) // 进度})
// 回调结果说明// type doneResult = {// fileId: string,// video: {// url: string// },// cover: {// url: string// }// }uploader.done().then(function (doneResult) { // deal with doneResult}).catch(function (err) { // deal with error})


说明:new TcVod(opts) 中的 opts 指该接口的相关参数,详细请参见 TcVod 接口描述上传方法根据用户文件的长度,自动选择普通上传以及分片上传,用户不用关心分片上传的每个步骤,即可实现分片上传。如需上传至指定应用下,请参见 应用体系 – 客户端上传

高级功能

同时上传视频和封面

const uploader = tcVod.upload({  mediaFile: mediaFile,  coverFile: coverFile,})
uploader.done().then(function (doneResult) { // deal with doneResult})

获取上传进度

SDK 支持以回调的形式展示当前的上传进度:

const uploader = tcVod.upload({  mediaFile: mediaFile,  coverFile: coverFile,})// 视频上传完成时uploader.on('media_upload', function(info) {  uploaderInfo.isVideoUploadSuccess = true;})// 视频上传进度uploader.on('media_progress', function(info) {  uploaderInfo.progress = info.percent;})// 封面上传完成时uploader.on('cover_upload', function(info) {  uploaderInfo.isCoverUploadSuccess = true;})// 封面上传进度uploader.on('cover_progress', function(info) {  uploaderInfo.coverProgress = info.percent;})
uploader.done().then(function (doneResult) { // deal with doneResult})

xxx_uploadxxx_progress的回调值请参见 分块上传/复制任务操作

取消上传

SDK 支持取消正在上传的视频或封面:

const uploader = tcVod.upload({  mediaFile: mediaFile,  coverFile: coverFile,})
uploader.cancel()

断点续传

SDK 支持自动断点续传功能,无需做额外操作。当上传意外终止时(如浏览器关闭、网络中断等),您再次上传该文件,可以从中断处继续上传,减少重复上传时间。

动态上传加速

1.7.0-beta.4 版本开始新增支持了通过 http2 协议上传,并根据网络状况动态调整上传并发的能力,有效提高上传速度,如需体验动态上传加速,需在控制台开启 全球链路加速

// 安装 beta 版本// npm install vod-js-sdk-v6@1.7.0-beta.4
import TcVod from 'vod-js-sdk-v6'
const tcVod = new TcVod.default({ getSignature: getSignature // 前文中所述的获取上传签名的函数})
const uploader = tcVod.upload({ mediaFile: mediaFile, // 媒体文件(视频或音频或图片),类型为 File dynamicAccelerate: true, // 开启动态加速})

接口描述

TcVod

参数名称 必填 类型 参数描述
getSignature Function 获取上传签名的函数。
appId number 填入后,内置的统计上报会自动带上。
reportId number 填入后,内置的统计上报会自动带上。

TcVod.upload

参数名称 必填 类型 参数描述
mediaFile File 媒体文件(视频或音频或图片)。
coverFile File 封面文件。
mediaName string 覆盖媒体文件元信息中的文件名。
fileId string 当修改封面时传入。
enableResume boolean 是否断点续传
enableRaceRegion boolean 是否开启园区竞速,选择响应最快的园区发起上传,默认开启。注:开启后会发起 HEAD 请求,这类请求会返回403状态码,不影响正式上传。
reportId number 填入后,内置的统计上报会自动带上。会覆盖构造函数中的设置。
fileParallelLimit number 同一个实例下上传的文件并发数,默认值3。
chunkParallelLimit number 同一个上传文件的分块并发数,默认值6。
chunkRetryTimes number 分块上传时,出错重试次数,默认值2(加第一次,请求共3次)。
chunkSize number 分块上传时,每片的字节数大小,默认值8388608(8MB)。
progressInterval number 上传进度的回调方法 onProgress 的回调频率,单位 ms ,默认值1000。
dynamicAccelerate boolean 动态加速开关(1.7.0-beta.4版本新增)。

事件

事件名称 必填 事件描述
media_upload 媒体文件上传成功时。
cover_upload 封面上传成功时。
media_progress 媒体文件上传进度。
cover_progress 封面文件上传进度。

常见问题

1. File 对象怎么获取?
使用
input标签,typefile类型,即可拿到File对象。
2. 上传的文件是否有大小限制?
最大支持60GB。
3. SDK 支持的浏览器版本有哪些?
Chrome、Firefox 等支持 HTML5 的主流浏览器,IE 方面支持的最低版本是 IE10。
4. 如何实现类似暂停上传或恢复上传的功能?
SDK 底层已经自动实现了断点续传的功能,因此暂停的本质即是调用
uploader.cancel()这个方法。同理,暂停后的恢复上传也是调用初始的tcVod.upload方法,区别在于恢复上传时调用该方法的参数,应该是之前缓存起来的参数(例如可以在启动上传时全局变量存储一份参数,上传完成后再清掉)。
5. Web 端上传 SDK 是否支持使用 https: 域名上传?
可以支持。Web 端默认判断当前页面的域名是 http: 时,使用 http: 域名上传。若判断域名非 http: 时,则使用 https: 域名上传。

云点播官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/143417.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云云点播数据统计问题

    可以查看哪些统计数据? 目前在云点播控制台上可以查看带宽/流量统计、存储统计、转码统计、视频审核统计、小程序播放统计等数据。带宽/流量统计:云点播服务在分域名/分地区/分运营商,不同时间段内的带宽使用详情、流量使用详情、流量省份 TOP10 及流量使用运营商对比。存储统计:云点播服务在不同时间段内的存储情况统计,同时包含了当前文件总数与当前使用的存储空间。转…

    腾讯云 2023年12月9日
  • 腾讯云云点播视频播放问题

    视频播放失败时,如何定位问题? 视频播放失败有多种原因,定位问题的基本思路是:1. 配置网络抓包,查看网络请求情况。2. 查看浏览器控制台报错情况。3. 检查视频格式,使用的浏览器是否支持播放。 视频同时在线观看人数是否有限制? 理论上没有,我们的系统目前不做任何限制,因此理论上可支持无限用户数量的同时在线观看。 如何解决视频播放会有卡顿现象的问题? 在排除…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云云点播客户端上传签名

    客户端在发起上传前,需要向 App 的签名派发服务器申请上传签名。客户端执行上传操作时,必须携带该签名,以便云点播验证客户端的上传是否被授权。 签名生成步骤 1. 获取云 API 密钥获取调用服务端 API 所需的安全凭证,即 SecretId 和 SecretKey,具体步骤如下:1.1 登录控制台,选择云产品 > 访问管理 > API密钥管理…

    腾讯云 2023年12月9日
  • 腾讯云云点播视频上传问题

    云点播支持上传哪些格式的媒体文件? 云点播支持上传格式如下:视频:WMV、RM、MOV、MPEG、MP4、3GP、FLV、AVI、RMVB、TS、ASF、MPG、WEBM、MKV 、M3U8、WM、ASX、RAM、MPE、VOB、DAT、MP4V、M4V、F4V、MXF、QT、OGG。音频:MP3、M4A、FLAC、OGG、WAV、RA、AAC、AMR。封面…

    腾讯云 2023年12月9日
  • 腾讯云云点播媒体上传综述

    媒体上传是指用户将视频、音频、封面图片等媒体文件上传到云点播的存储中,以进行后续的处理和分发等。 上传方式 云点播支持以下几种上传方式: 上传方式 说明 控制台本地上传 在云点播控制台上传页面进行操作,将本地媒体文件上传到云点播。适用于开发者直接管理少量媒体的场景,具有方便快捷、无技术门槛的优点。 控制台拉取上传 在云点播控制台上传页面进行操作,指定…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。