详情页标题前

腾讯云云点播Node.js SDK

详情页1

对于在服务端上传视频的场景,云点播提供 Node.js SDK 来实现。上传流程请参见 服务端上传指引

集成方式

使用 npm 安装

npm i vod-node-sdk --save

通过源码包安装

如果项目中没有使用 npm 工具进行依赖管理,可以直接下载源码导入项目中使用:从 Github 访问单击下载 Node.js SDK

简单视频上传

初始化上传对象

使用云 API 密钥初始化 VodUploadClient 实例。

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');
client = new VodUploadClient("your secretId", "your secretKey");

构造上传请求对象

let req = new VodUploadRequest();req.MediaFilePath = "/data/file/Wildlife.mp4";

调用上传

调用上传方法,传入接入点地域及上传请求,通过回调方法获取返回的信息。

client.upload("ap-guangzhou", req, function (err, data) {    if (err) {        // 处理业务异常        console.log(err)    } else {        // 获取上传成功后的信息        console.log(data.FileId);        console.log(data.MediaUrl);    }});

说明:上传方法根据用户文件的长度,自动选择普通上传以及分片上传,用户不用关心分片上传的每个步骤,即可实现分片上传。

高级功能

携带封面

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');
client = new VodUploadClient("your secretId", "your secretKey");let req = new VodUploadRequest();req.MediaFilePath = "/data/file/Wildlife.mp4";req.CoverFilePath = "/data/file/Wildlife-cover.png";client.upload("ap-guangzhou", req, function (err, data) { if (err) { // 处理业务异常 console.log(err) } else { // 获取上传成功后的信息 console.log(data.FileId); console.log(data.MediaUrl); console.log(data.CoverUrl); }});

指定任务流

首先 创建任务流模板 并为模板命名,发起任务流时,可以用任务流模板名设置Procedure参数,上传成功后会自动执行任务流。

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');
client = new VodUploadClient("your secretId", "your secretKey");let req = new VodUploadRequest();req.MediaFilePath = "/data/file/Wildlife.mp4";req.Procedure = "Your Procedure Name";client.upload("ap-guangzhou", req, function (err, data) { if (err) { // 处理业务异常 console.log(err) } else { // 获取上传成功后的信息 console.log(data.FileId); console.log(data.MediaUrl); }});

应用上传

传入 应用 ID,上传成功后资源只属于具体的应用。

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');
client = new VodUploadClient("your secretId", "your secretKey");let req = new VodUploadRequest();req.MediaFilePath = "/data/file/Wildlife.mp4";req.SubAppId = 101;client.upload("ap-guangzhou", req, function (err, data) { if (err) { // 处理业务异常 console.log(err) } else { // 获取上传成功后的信息 console.log(data.FileId); console.log(data.MediaUrl); }});

指定存储地域

控制台 确认已经开通目标存储地域,若没有开通可以参考 上传存储设置,最后通过StorageRegion属性设置存储地域的 英文简称

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');
client = new VodUploadClient("your secretId", "your secretKey");let req = new VodUploadRequest();req.MediaFilePath = "/data/file/Wildlife.mp4";req.StorageRegion = "ap-chongqing";client.upload("ap-guangzhou", req, function (err, data) { if (err) { // 处理业务异常 console.log(err) } else { // 获取上传成功后的信息 console.log(data.FileId); console.log(data.MediaUrl); }});

使用临时证书上传

传入 临时证书 的相关密钥信息,使用临时证书验证身份并进行上传。

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');
client = new VodUploadClient("Credentials TmpSecretId", "Credentials TmpSecretKey", "Credentials Token");let req = new VodUploadRequest();req.MediaFilePath = "/data/file/Wildlife.mp4";client.upload("ap-guangzhou", req, function (err, data) { if (err) { // 处理业务异常 console.log(err) } else { // 获取上传成功后的信息 console.log(data.FileId); console.log(data.MediaUrl); }});

自适应码流文件上传

本 SDK 支持上传的自适应码流格式包括 HLS 和 DASH,同时要求 manifest(M3U8 或 MPD)所引用的媒体文件必须为相对路径(即不可以是 URL 和绝对路径),且位于 manifest 的同级目录或者下级目录(即不可以使用../)。在调用 SDK 上传接口时,MediaFilePath参数填写 manifest 路径,SDK 会解析出相关的媒体文件列表一并上传。

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');
client = new VodUploadClient("your secretId", "your secretKey");let req = new VodUploadRequest();req.MediaFilePath = "/data/file/prog_index.m3u8";client.upload("ap-guangzhou", req, function (err, data) { if (err) { // 处理业务异常 console.log(err) } else { // 获取上传成功后的信息 console.log(data.FileId); console.log(data.MediaUrl); }});

接口描述

上传客户端类VodUploadClient

属性名称 属性描述 类型 必填
secretId 云 API 密钥 ID String
secretKey 云 API 密钥 Key String

上传请求类VodUploadRequest

属性名称 属性描述 类型 必填
MediaFilePath 待上传的媒体文件路径。必须为本地路径(用户服务器上的路径),不支持 URL。 String
SubAppId 云点播 应用 ID。如果要访问应用中的资源,则将该字段填写为应用 ID,否则无需填写该字段。 Integer
MediaType 待上传的媒体文件类型,可选类型请参见 视频上传综述,若 MediaFilePath 路径带后缀可不填。 String
MediaName 上传后的媒体名称,若不填默认采用 MediaFilePath 的文件名。 String
CoverFilePath 待上传的封面文件路径。必须为本地路径(用户服务器上的路径),不支持 URL。 String
CoverType 待上传的封面文件类型,可选类型请参见 视频上传综述,若 CoverFilePath 路径带后缀可不填。 String
Procedure 上传后需要自动执行的任务流名称,该参数在创建任务流(API 方式控制台方式)时由用户指定。具体请参考 任务流综述 String
ExpireTime 媒体文件过期时间,格式按照 ISO 8601 标准表示,详见 ISO 日期格式说明 String
ClassId 分类 ID,用于对媒体进行分类管理,可通过 创建分类 接口,创建分类,获得分类 ID。 Integer
SourceContext 来源上下文,用于透传用户请求信息,上传回调接口将返回该字段值,最长250个字符。 String
StorageRegion 存储地域,指定预期希望存储的地域,该字段填写为存储地域的 英文简称 String

上传响应类VodUploadResponse

属性名称 属性描述 类型
FileId 媒体文件的唯一标识。 String
MediaUrl 媒体播放地址 String
CoverUrl 媒体封面地址 String
RequestId 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 String

上传方法VodUploadClient.upload(String region, VodUploadRequest request, function callback)

参数名称 参数描述 类型 必填
region 接入点地域,即请求到哪个地域的云点播服务器,不同于存储地域,具体参考支持的 地域列表 String
request 上传请求 VodUploadRequest
callback 上传完成回调函数 function

上传完成回调函数function(err, data)

参数名称 参数描述 类型 必填
err 错误信息 Exception
data 上传响应结果 VodUploadResponse

错误码表

状态码 含义
InternalError 内部错误
InvalidParameter.ExpireTime 参数值错误:过期时间。
InvalidParameterValue.CoverType 参数值错误:封面类型。
InvalidParameterValue.MediaType 参数值错误:媒体类型。
InvalidParameterValue.SubAppId 参数值错误:应用 ID。
InvalidParameterValue.VodSessionKey 参数值错误:点播会话。
ResourceNotFound 资源不存在



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

转转请注明出处:http://www.yunxiaoer.com/143409.html

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

相关推荐

  • 腾讯云云直播回源模式

    如果您有自建源站和直播源内容,并且需要通过腾讯云进行直播播放,可以通过为云直播播放域名设置源站信息来回源拉取直播内容。配置成功后,您可通过云直播回源拉流并进行直播内容分发。本文档将指导您如何设置源站信息。 注意事项 配置好相关信息后,回源模式设置保存成功后预计在1小时内生效。请耐心等待。回源模式开启后。仅支持播放源站直播流,无法通过推流方式进行直播。开启源站…

    2023年12月9日
  • 腾讯云对象存储资源包升级

    说明存储容量包支持升级操作,流量包和请求包不支持升级操作。如您需要升级(更高规格的)流量包或请求包,请您 重新选购 资源包,流量包和请求包可叠加使用。若资源包价格发生变动(如降价),则此前购买的资源包将不能进行升级操作。请您 重新选购 资源包。对象存储(Cloud Object Storage,COS)提供资源包的升级功能。若您此前购买的资源包规格不再满足实…

    腾讯云 2023年12月9日
  • 腾讯云负载均衡服务等级协议

    详细信息,请参见 负载均衡 CLB 服务等级协议。 负载均衡官网1折活动,限时活动,即将结束,速速收藏同尘科技为腾讯云授权服务中心。购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

    腾讯云 2023年12月9日
  • 腾讯云CVM服务器在线迁移操作指引

    在线迁移可以支持您在系统不停机的情况下,将服务器或虚拟机上的系统、服务程序等从自建机房(IDC)或云平台等源环境迁移同步至腾讯云。在线迁移提供两种迁移方式,您可以根据您的业务场景,选择合适的迁移方式,并前往对应的文档查看详细的操作指引: 迁移方式 概述 适用场景 特点 在线迁移:客户端导入迁移源 登录源端实例运行工具导入迁移源,并在控制台上创建迁移任务,完成…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储DELETE Bucket encryption

    功能描述 DELETE Bucket encryption 接口用于删除指定存储桶下的默认加密配置。要执行此接口,必须拥有 DeleteBucketEncryption 权限。默认情况下,Bucket 的持有者直接拥有权限使用该 API 接口,Bucket 持有者也可以将权限授予其他用户。 请求 请求示例 DELETE /?encryption HTTP 1…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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