Socket
Socket
Sign inDemoInstall

ali-cloud-video

Package Overview
Dependencies
139
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ali-cloud-video

Ali cloud video on demand SDK


Version published
Weekly downloads
22
increased by1000%
Maintainers
1
Install size
6.44 MB
Created
Weekly downloads
 

Readme

Source

ali-cloud-video

阿里云视频点播SDK

Usage

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)
})

new AliCloudVideo(opt)

  • opt <Object>
    • AccessKeyId <string> 必填,阿里云颁发给用户的访问服务所用的密钥ID。
    • AccessKeySecret <string> 必填,AccessKeySecret

构造方法,传入配置对象。

const AliCloudVideo = require('ali-cloud-video')

const ali = new AliCloudVideo({
  AccessKeyId: 'xxx',
  AccessKeySecret: 'xxx'
})
实例方法
  • 凭证
    • getPlayAuth 播放视频前获取播放地址和播放凭证
    • getPlayAddress 获取视频播放地址
    • getUploadAuth 上传视频前获取上传凭证和上传地址
    • getUploadImageAuth 上传图片前先获取上传地址和上传凭证
    • refreshUploadAuth 上传凭证失效后需刷新上传凭证
  • 视频
  • 分类

getPlayAuth(videoId, callback)

  • videoId <string> 视频ID

播放视频前获取播放地址和播放凭证

// 上传视频后得到的视频ID
const videoId = 'e51aa1941e3b46648f4812dbcf5c175d'
// 获取视频的播放授权信息
ali.getPlayAuth(videoId, (err, result) => {
    if (err) return console.error(err)
  console.log(result)
})

getPlayAddress(opt, callback)

  • opt <Object>
    • VideoId <string> 上传视频后得到的视频ID
    • Formats <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)
})

getUploadAuth(opt, callback)

  • opt <Object>
    • Title <string> 视频标题,长度不超过128个字节,UTF8编码。默认生成为new_video_[timestamp]
    • FileName <string> 视频源文件名,必须带扩展名,且扩展名不区分大小写, 支持的扩展名参见上传概述的限制部分。默认为[Title].mp4
    • FileSize <number> 视频文件大小,单位:字节。
    • Description <string> 视频描述,长度不超过1024个字节,UTF8编码
    • CoverUrl <string> 自定义视频封面URL地址
    • CateId <number> 视频分类ID,请在“点播控制台-全局设置-分类管理”里编辑或查看分类的ID
    • Tags <string> 视频标签,单个标签不超过32字节,最多不超过16个标签。多个用逗号分隔,UTF8编码

上传视频前获取上传凭证和上传地址

该接口不会真正上传视频文件,您需要拿到上传凭证和地址后使用上传SDK进行文件上传;

如果视频上传凭证失效(有效期3600秒),请调用刷新视频上传凭证接口重新获取上传凭证。

const opt = {}
// 获取视频的上传凭证和上传地址
ali.getUploadAuth(opt, (err, result) => {
    if (err) return console.error(err)
  console.log(result)
})

uploadFile(opt, callback)

  • opt <Object>
    • 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编码

上传本地视频文件到视频点播服务器。返回视频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}`)
})

deleteFiles(idList, callback)

  • idList <Array> 视频ID数组

删除上传的视频文件。

const idList = ['e51aa1941e3b46648f4812dbcf5c175d']

ali.deleteFiles(idList, (err) => {
    if (err) return console.error(err)
  console.log('delete successful')
})

getVideoInfo(videoId, callback)

  • videoId <string> 视频ID

获取视频信息。

// 上传视频后得到的视频ID
const videoId = 'e51aa1941e3b46648f4812dbcf5c175d'
// 获取视频的播放授权信息
ali.getVideoInfo(videoId, (err, result) => {
    if (err) return console.error(err)
  console.log(result)
})

getVideoList(opt, callback)

  • 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> 视频分类ID
    • PageNo <number> 页号,默认1
    • PageSize <number> 可选,默认10,最大不超过100
    • SortBy <string> 结果排序,范围:CreationTime:Desc、CreationTime:Asc,默认为CreationTime:Desc(即按创建时间倒序)

获取视频信息列表。

const opt = {}

ali.getVideoList(opt, (err, result) => {
    if (err) return console.error(err)
  console.log(result)
})

updateVideoInfo(opt, callback)

  • opt <Object>
    • VideoId <string> 视频ID
    • Title <string> 视频标题,长度不超过128个字节,UTF8编码
    • Description <string> 视频描述,长度不超过1024个字节,UTF8编码
    • CoverURL <string> 视频封面URL地址
    • CateId <string> 视频分类ID
    • Tags <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')
})

addCategory(opt, callback)

  • 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')
})

getCategories(opt, callback)

  • opt <Object>
    • CateId <string> 分类ID,默认为根节点分类ID即-1
    • PageNo <number> 子分类列表页号,默认1
    • PageSize <number> 子分类列表页长,默认10,最大不超过100

获取视频分类及其子分类。

const opt = { PageSize: 20 }

ali.getCategories(opt, (err, result) => {
    if (err) return console.error(err)
  console.log(result)
})

updateCategory(opt, callback)

  • opt <Object>
    • CateId <string> 分类ID
    • CateName <string> 分类名称,不能超过64个字节,UTF8编码

更新分类

const opt = { CateId: 'xxxx', CateName: '测试分类名' }

ali.updateCategory(opt, (err) => {
    if (err) return console.error(err)
  console.log('updated successful')
})

deleteCategory(cateId, callback)

  • cateId <string> 分类ID

删除分类。

const cateId = 'xxx'

ali.deleteCategory(cateId, (err) => {
    if (err) return console.error(err)
  console.log('deleted successful')
})

getUploadImageAuth(opt, callback)

  • 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)
})

refreshUploadAuth(videoId, callback)

  • videoId <string> 视频ID

上传凭证失效后需刷新上传凭证

const videoId = 'e51aa1941e3b46648f4812dbcf5c175d'

ali.refreshUploadAuth(videoId, (err, result) => {
    if (err) return console.error(err)
  console.log(result)
})

Keywords

FAQs

Last updated on 29 Sep 2018

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc