npm install ali-cloud-video -S
const AliCloudVideo = require('ali-cloud-video')
const ali = new AliCloudVideo({
AccessKeyId: '',
AccessKeySecret: ''
})
const videoId = 'e51aa1941e3b46648f4812dbcf5c175d'
ali.getPlayAuth(videoId, (err, result) => {
console.log(result)
})
- AliCloudVideo(options) 构造函数
- getPlayAuth(videoId, callback)
播放视频前获取播放地址和播放凭证
- getPlayAddress(options, callback)
获取视频播放地址
- getUploadAuth(options, callback)
上传视频前获取上传凭证和上传地址
- uploadFile(options, callback)
上传视频文件到视频点播服务器
- deleteFiles(options, callback)
删除上传的视频文件
- getVideoInfo(videoId, callback)
获取视频信息
- getVideoList(options, callback)
获取视频信息列表,最多支持获取前5000条
- updateVideoInfo(options, callback)
修改视频信息。
- addCategory(options, callback)
创建视频分类。
- getCategories(options, callback)
获取视频分类及其子分类。
- updateCategory(options, callback)
修改分类
- deleteCategory(cateId, callback)
删除分类
- getUploadImageAuth(options, callback)
上传图片前先获取上传地址和上传凭证
- refreshUploadAuth(videoId, callback)
上传凭证失效后需刷新上传凭证
new AliCloudVideo(options)
构造方法,传入配置对象。
名称 |
类型 |
必填项 |
描述 |
AccessKeyId |
String |
是 |
阿里云颁发给用户的访问服务所用的密钥ID。 |
AccessKeySecret |
String |
是 |
AccessKeySecret |
Format |
String |
否 |
返回值的类型,支持JSON与XML,默认为JSON。 |
Version |
String |
否 |
API版本号,为日期形式:YYYY-MM-DD,本版本对应为2017-03-21。 |
SignatureMethod |
String |
否 |
签名方式,目前支持HMAC-SHA1。 |
SignatureVersion |
String |
否 |
签名算法版本,目前版本是1.0。 |
播放视频前获取播放地址和播放凭证
名称 |
类型 |
必填项 |
描述 |
videoId |
String |
是 |
视频ID |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
VideoMeta |
Object |
视频Meta信息 |
PlayAuth |
String |
视频播放凭证 |
名称 |
类型 |
描述 |
CoverURL |
String |
视频封面 |
VideoId |
String |
视频ID |
Duration |
Float |
视频时长(秒) |
Title |
String |
视频标题 |
Status |
String |
视频状态,Uploading(上传中),UploadFail(上传失败),UploadSucc(上传完成),Transcoding(转码中),Checking(审核中),TranscodeFail(转码失败),Blocked(屏蔽),Normal(正常) |
获取视频播放地址。
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填项 |
描述 |
VideoId |
String |
是 |
视频上传后的videoId |
Formats |
String |
否 |
视频流格式,多个用逗号分隔,支持格式mp4,m3u8,mp3,默认获取所有格式的流 |
AuthTimeout |
String |
否 |
播放鉴权过期时间,默认为1800秒,支持设置最小值为1800秒 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
VideoBase |
Object |
视频基本信息 |
PlayInfoList |
Object |
视频流信息列表 |
名称 |
类型 |
描述 |
CreationTime |
String |
视频创建时间,为UTC时间 |
CoverURL |
String |
视频封面 |
MediaType |
String |
媒体文件类型,取值:video(视频),audio(纯音频) |
Status |
String |
视频状态,Uploading(上传中),UploadFail(上传失败),UploadSucc(上传完成),Transcoding(转码中),Checking(审核中),TranscodeFail(转码失败),Blocked(屏蔽),Normal(正常) |
VideoId |
String |
视频ID |
Duration |
String |
视频时长(秒) |
Title |
String |
视频标题 |
名称 |
类型 |
描述 |
PlayInfo |
Array |
视频流信息列表 |
名称 |
类型 |
描述 |
Format |
String |
视频流格式,若媒体文件为视频则取值:mp4, m3u8,若是纯音频则取值:mp3 |
Duration |
String |
视频流长度,单位秒 |
Height |
Number |
视频流高度,单位px |
Width |
Number |
视频流宽度,单位px |
Size |
Number |
视频流大小,单位Byte |
Encrypt |
Number |
视频流是否加密流,取值:0(否),1(是) |
PlayURL |
String |
视频流的播放地址 |
Fps |
String |
视频流帧率,每秒多少帧 |
Bitrate |
String |
视频流码率,单位Kbps |
Definition |
String |
视频流清晰度定义, 取值:FD(流畅),LD(标清),SD(高清),HD(超清),OD(原画),2K(2K),4K(4K) |
上传视频前获取上传凭证和上传地址
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填 |
描述 |
Title |
String |
否 |
视频标题,长度不超过128个字节,UTF8编码。默认生成为new_video_[timestamp] |
FileName |
String |
否 |
视频源文件名,必须带扩展名,且扩展名不区分大小写, 支持的扩展名参见上传概述的限制部分。默认为[Title].mp4 |
FileSize |
String |
否 |
视频文件大小,单位:字节。 |
Description |
String |
否 |
视频描述,长度不超过1024个字节,UTF8编码 |
CoverUrl |
String |
否 |
自定义视频封面URL地址 |
CateId |
Number |
否 |
视频分类ID,请在“点播控制台-全局设置-分类管理”里编辑或查看分类的ID |
Tags |
String |
否 |
视频标签,单个标签不超过32字节,最多不超过16个标签。多个用逗号分隔,UTF8编码 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
VideoId |
String |
视频ID |
UploadAddress |
String |
上传地址 |
UploadAuth |
String |
上传凭证 |
请注意:
- 该接口不会真正上传视频文件,您需要拿到上传凭证和地址后使用上传SDK进行文件上传;
- 如果视频上传凭证失效(有效期3600秒),请调用刷新视频上传凭证接口重新获取上传凭证。
上传视频文件到视频点播服务器。
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填 |
描述 |
FilePath |
String |
是 |
视频文件的路径。 |
progress |
Function |
否 |
进度事件回调函数。参数是上传进度,从0到1。 |
Title |
String |
否 |
视频标题,长度不超过128个字节,UTF8编码。默认生成为new_video_[timestamp] |
FileName |
String |
否 |
视频源文件名,必须带扩展名,且扩展名不区分大小写, 支持的扩展名参见上传概述的限制部分。默认为[Title].mp4 |
FileSize |
String |
否 |
视频文件大小,单位:字节。 |
Description |
String |
否 |
视频描述,长度不超过1024个字节,UTF8编码 |
CoverUrl |
String |
否 |
自定义视频封面URL地址 |
CateId |
Number |
否 |
视频分类ID,请在“点播控制台-全局设置-分类管理”里编辑或查看分类的ID |
Tags |
String |
否 |
视频标签,单个标签不超过32字节,最多不超过16个标签。多个用逗号分隔,UTF8编码 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
videoId |
String |
视频Id |
删除上传的视频文件。
名称 |
类型 |
必填项 |
描述 |
videos |
Array |
是 |
视频id数组 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
获取视频信息。
名称 |
类型 |
必填项 |
描述 |
videoId |
String |
是 |
视频id |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
Video |
String |
视频信息对象 |
名称 |
类型 |
描述 |
VideoId |
String |
视频ID |
Title |
String |
视频标题 |
Description |
String |
视频描述 |
Duration |
Number |
视频时长,单位:秒 |
CoverURL |
String |
视频封面 |
Status |
String |
视频状态 |
CreationTime |
String |
视频创建时间 |
Size |
Number |
视频体积,单位:Byte |
CateId |
Number |
视频分类Id |
CateName |
String |
分类名 |
Tags |
String |
视频标签,逗号分隔 |
Snapshots |
Object |
视频截图,子属性Snapshot 为数组,内容是图片链接 |
ModifyTime |
String |
视频修改时间 |
获取视频信息列表。
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填项 |
描述 |
Status |
String |
否 |
视频状态,默认获取所有视频,多个可以用逗号分隔,如:Uploading,Normal,取值包括:Uploading(上传中),UploadFail(上传失败),UploadSucc(上传完成),Transcoding(转码中),TranscodeFail(转码失败),Blocked(屏蔽),Normal(正常) |
StartTime |
String |
否 |
CreationTime(创建时间)的开始时间,为开区间(大于开始时间)。日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ 例如,2017-01-11T12:00:00Z(为北京时间2017年1月11日20点0分0秒) |
EndTime |
String |
否 |
CreationTime的结束时间,为闭区间(小于等于结束时间)。日期格式按照ISO8601标准表示,并需要使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ 例如,2017-01-11T12:00:00Z(为北京时间2017年1月11日20点0分0秒) |
CateId |
String |
否 |
视频分类ID |
PageNo |
Number |
否 |
页号,默认1 |
PageSize |
Number |
否 |
可选,默认10,最大不超过100 |
SortBy |
String |
否 |
结果排序,范围:CreationTime:Desc、CreationTime:Asc,默认为CreationTime:Desc(即按创建时间倒序) |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
VideoList |
Object |
视频信息对象,子属性Video 为数组,数组项为单个视频信息对象 |
Total |
Number |
视频总条数 |
名称 |
类型 |
描述 |
VideoId |
String |
视频ID |
Title |
String |
视频标题 |
Description |
String |
视频描述 |
Duration |
Number |
视频时长,单位:秒 |
CoverURL |
String |
视频封面 |
Status |
String |
视频状态 |
CreationTime |
String |
视频创建时间 |
Size |
Number |
视频体积,单位:Byte |
CateId |
Number |
视频分类Id |
CateName |
String |
分类名 |
Tags |
String |
视频标签,逗号分隔 |
Snapshots |
Object |
视频截图,子属性Snapshot 为数组,内容是图片链接 |
ModifyTime |
String |
视频修改时间 |
修改视频信息。
注意:传入参数则更新相应字段,否则该字段不会被覆盖或更新。
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填项 |
描述 |
VideoId |
String |
是 |
视频Id |
Title |
String |
否 |
视频标题,长度不超过128个字节,UTF8编码 |
Description |
String |
否 |
视频描述,长度不超过1024个字节,UTF8编码 |
CoverURL |
String |
否 |
视频封面URL地址 |
CateId |
String |
否 |
视频分类ID |
Tags |
String |
否 |
视频标签,单个标签不超过32字节,最多不超过16个标签。多个用逗号分隔,UTF8编码 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
创建视频分类。最大支持三级分类,每个分类最多支持创建100个子分类。
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填项 |
描述 |
CateName |
String |
是 |
分类名称 |
ParentId |
String |
否 |
父分类ID,若不填,则默认生成一级分类,根节点分类ID为-1 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
Category |
Object |
视频分类信息 |
名称 |
类型 |
描述 |
CateId |
Number |
分类ID |
ParentId |
Number |
父分类Id |
CateName |
String |
分类名称 |
Level |
Number |
分类层级 |
获取视频分类及其子分类。
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填项 |
描述 |
CateId |
String |
否 |
分类ID,默认为根节点分类ID即-1 |
PageNo |
String |
否 |
子分类列表页号,默认1 |
PageSize |
String |
否 |
子分类列表页长,默认10,最大不超过100 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
Category |
Object |
视频分类信息 |
SubTotal |
Number |
子分类总数 |
SubCategories |
Object |
子分类列表 |
修改分类。
名称 |
类型 |
必填项 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填项 |
描述 |
CateId |
String |
是 |
分类ID |
CateName |
String |
是 |
分类名称,不能超过64个字节,UTF8编码 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
删除分类。
名称 |
类型 |
必填项 |
描述 |
cateId |
String |
是 |
分类ID |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果对象 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
上传图片前先获取上传地址和上传凭证
名称 |
类型 |
必填 |
描述 |
options |
Object |
是 |
配置对象 |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
必填 |
描述 |
ImageType |
String |
否 |
图片类型,可选值 cover:封面,watermark:水印。默认cover。 |
ImageExt |
String |
否 |
图片文件扩展名,可选值 png,jpg,jpeg,默认 png |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
ImageURL |
String |
图片地址 |
UploadAddress |
String |
上传地址 |
UploadAuth |
String |
上传凭证 |
请注意:
- 该接口不会真正上传图片文件,您需要拿到上传凭证和地址后使用上传SDK进行文件上传(和视频上传相同);
- 如果图片上传凭证失效(有效期900秒),请重新调用此接口获取上传地址和凭证;
- 如果发现返回的ImageURL在浏览器无法访问(403),那是因为您开启了点播域名的鉴权功能,可工单联系我们关闭或自助生成鉴权签名。
上传凭证失效后需刷新上传凭证
名称 |
类型 |
必填项 |
描述 |
videoId |
String |
是 |
视频ID |
callback |
Function |
是 |
回调函数 |
名称 |
类型 |
描述 |
err |
Object |
错误对象 |
result |
Object |
结果 |
名称 |
类型 |
描述 |
RequestId |
String |
请求ID |
UploadAuth |
String |
上传凭证 |