Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
ali-cloud-video
Advanced tools
Readme
阿里云视频点播SDK
npm i 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)
})
opt
<Object>
AccessKeyId
<string> 必填,阿里云颁发给用户的访问服务所用的密钥ID。AccessKeySecret
<string> 必填,AccessKeySecret构造方法,传入配置对象。
const AliCloudVideo = require('ali-cloud-video')
const ali = new AliCloudVideo({
AccessKeyId: 'xxx',
AccessKeySecret: 'xxx'
})
videoId
<string> 视频ID播放视频前获取播放地址和播放凭证
// 上传视频后得到的视频ID
const videoId = 'e51aa1941e3b46648f4812dbcf5c175d'
// 获取视频的播放授权信息
ali.getPlayAuth(videoId, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
opt
<Object>
VideoId
<string> 上传视频后得到的视频IDFormats
<string> 可选,视频流格式,多个用逗号分隔,支持格式mp4,m3u8,mp3
,默认获取所有格式的流AuthTimeout
<string> 可选,播放鉴权过期时间,默认为1800秒,支持设置最小值为1800秒获取视频的播放链接
// 上传视频后得到的视频ID
const opt = { VideoId: 'e51aa1941e3b46648f4812dbcf5c175d' }
// 获取视频的播放链接
ali.getPlayAddress(opt, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
opt
<Object>
Title
<string> 视频标题,长度不超过128个字节,UTF8编码。默认生成为new_video_[timestamp]FileName
<string> 视频源文件名,必须带扩展名,且扩展名不区分大小写, 支持的扩展名参见上传概述的限制部分。默认为[Title].mp4FileSize
<number> 视频文件大小,单位:字节。Description
<string> 视频描述,长度不超过1024个字节,UTF8编码CoverUrl
<string> 自定义视频封面URL地址CateId
<number> 视频分类ID,请在“点播控制台-全局设置-分类管理”里编辑或查看分类的IDTags
<string> 视频标签,单个标签不超过32字节,最多不超过16个标签。多个用逗号分隔,UTF8编码上传视频前获取上传凭证和上传地址
该接口不会真正上传视频文件,您需要拿到上传凭证和地址后使用上传SDK进行文件上传;
如果视频上传凭证失效(有效期3600秒),请调用刷新视频上传凭证接口重新获取上传凭证。
const opt = {}
// 获取视频的上传凭证和上传地址
ali.getUploadAuth(opt, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
opt
<Object>
FilePath
<string> 视频文件的路径。progress
<Function> 进度事件回调函数。参数是上传进度,从0到1。Title
<string> 视频标题,长度不超过128个字节,UTF8编码。默认生成为new_video_[timestamp]FileName
<string> 视频源文件名,必须带扩展名,且扩展名不区分大小写, 支持的扩展名参见上传概述的限制部分。默认为[Title].mp4FileSize
<string> 视频文件大小,单位:字节。Description
<string> 视频描述,长度不超过1024个字节,UTF8编码CoverUrl
<string> 自定义视频封面URL地址CateId
<number> 视频分类ID,请在“点播控制台-全局设置-分类管理”里编辑或查看分类的IDTags
<string> 视频标签,单个标签不超过32字节,最多不超过16个标签。多个用逗号分隔,UTF8编码上传本地视频文件到视频点播服务器。返回视频ID
const opt = {
FilePath: '/path/to/file.mp4',
progress: (p) => { console.log(`uploaded ${p * 100}%`) }
}
ali.uploadFile(opt, (err, videoId) => {
if (err) return console.error(err)
console.log(`videoId is ${videoId}`)
})
idList
<Array> 视频ID数组删除上传的视频文件。
const idList = ['e51aa1941e3b46648f4812dbcf5c175d']
ali.deleteFiles(idList, (err) => {
if (err) return console.error(err)
console.log('delete successful')
})
videoId
<string> 视频ID获取视频信息。
// 上传视频后得到的视频ID
const videoId = 'e51aa1941e3b46648f4812dbcf5c175d'
// 获取视频的播放授权信息
ali.getVideoInfo(videoId, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
opt
<Object>
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> 视频分类IDPageNo
<number> 页号,默认1PageSize
<number> 可选,默认10,最大不超过100SortBy
<string> 结果排序,范围:CreationTime:Desc、CreationTime:Asc,默认为CreationTime:Desc(即按创建时间倒序)获取视频信息列表。
const opt = {}
ali.getVideoList(opt, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
opt
<Object>
VideoId
<string> 视频IDTitle
<string> 视频标题,长度不超过128个字节,UTF8编码Description
<string> 视频描述,长度不超过1024个字节,UTF8编码CoverURL
<string> 视频封面URL地址CateId
<string> 视频分类IDTags
<string> 视频标签,单个标签不超过32字节,最多不超过16个标签。多个用逗号分隔,UTF8编码更新视频信息。传入参数则更新相应字段,否则该字段不会被覆盖或更新。
const opt = {
VideoId: 'e51aa1941e3b46648f4812dbcf5c175d',
Title: 'test_name'
}
ali.updateVideoInfo(opt, (err) => {
if (err) return console.error(err)
console.log('updated successful')
})
opt
<Object>
CateName
<string> 分类名称ParentId
<string> 可选,父分类ID,若不填,则默认生成一级分类,根节点分类ID为-1创建视频分类。最大支持三级分类,每个分类最多支持创建100个子分类。
const opt = { CateName: '新分类' }
ali.addCategory(opt, (err) => {
if (err) return console.error(err)
console.log('created successful')
})
opt
<Object>
CateId
<string> 分类ID,默认为根节点分类ID即-1PageNo
<number> 子分类列表页号,默认1PageSize
<number> 子分类列表页长,默认10,最大不超过100获取视频分类及其子分类。
const opt = { PageSize: 20 }
ali.getCategories(opt, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
opt
<Object>
CateId
<string> 分类IDCateName
<string> 分类名称,不能超过64个字节,UTF8编码更新分类
const opt = { CateId: 'xxxx', CateName: '测试分类名' }
ali.updateCategory(opt, (err) => {
if (err) return console.error(err)
console.log('updated successful')
})
cateId
<string> 分类ID删除分类。
const cateId = 'xxx'
ali.deleteCategory(cateId, (err) => {
if (err) return console.error(err)
console.log('deleted successful')
})
opt
<Object>
ImageType
<string> 图片类型,可选值 cover:封面,watermark:水印。默认cover。ImageExt
<string> 图片文件扩展名,可选值 png,jpg,jpeg,默认 png上传图片前先获取上传地址和上传凭证
该接口不会真正上传图片文件,您需要拿到上传凭证和地址后使用上传SDK进行文件上传(和视频上传相同);
如果图片上传凭证失效(有效期900秒),请重新调用此接口获取上传地址和凭证;
如果发现返回的ImageURL在浏览器无法访问(403),那是因为您开启了点播域名的鉴权功能,可工单联系我们关闭或自助生成鉴权签名。
const opt = {}
ali.getUploadImageAuth(opt, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
videoId
<string> 视频ID上传凭证失效后需刷新上传凭证
const videoId = 'e51aa1941e3b46648f4812dbcf5c175d'
ali.refreshUploadAuth(videoId, (err, result) => {
if (err) return console.error(err)
console.log(result)
})
FAQs
Ali cloud video on demand SDK
The npm package ali-cloud-video receives a total of 22 weekly downloads. As such, ali-cloud-video popularity was classified as not popular.
We found that ali-cloud-video demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.