0.1.1 • Published 10 years ago

upyun-av-pretreatment v0.1.1

Weekly downloads
7
License
MIT
Repository
github
Last release
10 years ago

upyun-av-pretreatment

upyun 音视频处理 SDK

Install

$ npm install upyun-av-pretreatment

Example

var UpYunAV = require('./');

var client = new UpYunAV(yourbucket, operator, password);
var tasks = [
    {
        type: 'hls',
        hls_time: 6,
        bitrate: '500',
        rotate: 'auto',
        format: 'mp4'
    },
    {
        type: 'thumbnail',
        thumb_single: false,
        thumb_amount: 100,
        format: 'png'
    }
];

client.pretreatment('/video/20130514_190031.mp4', {
    bucket_name: yourbucket,
    tasks: new Buffer(JSON.stringify(tasks)).toString('base64'),
    notify_url: 'http://example.com/'
}, function(err, result) {
    console.log(arguments);
});

API

初始化 UpYunAV(yourbucket, operator, password)

  • yourbucket: 空间名称
  • operator: 操作员名称
  • password: 操作员密码

处理 API .pretreatment(path, config, callback)

  • path: 待处理的视频文件路径
  • config: 处理参数
    • bucket_name: 所在空间名称
    • tasks:提交的任务数据,base64处理之后的字符串
    • notify_url: 异步回调地址,在处理完成之后将会进行异步通知
    • source: 待处理源文件路径

其中 task 通过下面三个步骤生成:

  1. 组装业务参数;
  2. 将业务参数转换为JSON字符串;
  3. 对第二步生成的字符串进行 base64 encode 处理。

每次请求可以针对同一个文件提交最多10个处理任务

处理参数

又拍云的音视频处理服务目前支持三种类型的处理请求:

  • 普通视频转码
  • HLS切割
  • 视频截图
  1. 视频转码
参数参数类型必选参数说明
typestringtrue处理类型,进行视频转码时值必须为 video
bitrateintegerfalse视频比特率,单位kbit,未传递是按照视频原始比特率处理
scalestringfalse视频分辨率,格式 "1024:768" ,不传递时按照原始分辨率处理
auto_scalebooleanfalse是否根据分辨率自动调整视频长宽比例,仅当传递了 scale 参数时有效
frame_rateingegerfalse设置帧率,每秒显示的帧数,常用帧率:"24"、"25"、"30"等, 未传递时按照原始帧率处理
rotatestringfalse旋转角度,默认按照原始视频角度处理
map_metadatabooleanfalse是否保留视频meta信息,默认值 true
disable_audiobooleanfalse是否禁掉音频,默认 false
disable_videobooleanfalse是否禁掉视频,默认 false
formatstringfalse视频输出格式,支持 mp4/flv,默认按照原始格式输出
accelerate_factorfloatfalse设置视频加速的倍数,取值范围[1.0, 10.0]这个值是一个浮点数,可以是"2.5",表示加速2.5倍
save_asstringfalse转码后输出的文件保存路径(同一个空间下),如果没有传递,会根据请求的参数生成一个文件名保存在原始文件同目录下
  1. HLS转码切割

HLS 转码切割处理除了 hls_time 之外其他参数与普通视屏转码一致

参数参数类型必选参数说明
typestringtrue处理类型,进行hls切片时值必须为 hls
hls_timeintegertrue指定切割的时间片长度
  1. 视频截图
参数参数类型必选参数说明
typestringtrue处理类型,截图时值必须为 thumbnail
thumb_singlebooleantrue是否仅截取单张图片,默认值 true
thumb_amountintegerfalse截图数量,当 thumb_single 参数的值为 false 是,本参数为必须
thumb_startstringfalse截图开始时间,格式为 "00:04:13",默认值为 "00:00:00"
thumb_endstringfalse截图结束时间,格式为 "00:04:13",默认值为视频结束时间
thumb_scalestringfalse截图尺寸,格式为 "1024:768",默认值为视频原始尺寸
thumb_formatstringfalse截图输出格式,支持 png/jpg 格式,默认 jpg

返回数据

成功提交处理请求之后,接口会针对每个提交的处理任务返回唯一的task_id,可以根据这个 task_id 查询处理进度。

特别地,返回的 task_id 的顺序与提交的任务参数 tasks 里的匹配对应。

[
    '35f0148d414a688a275bf915ba7cebb2',
    '98adbaa52b2f63d6d7f327a0ff223348',
    ...
]