简介
提交音视频转封装任务功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。
本文档提供关于提交音视频转封装任务的相关 API 概览以及 SDK 示例代码。
注意
COS Javascript SDK 版本需要大于等于 v1.3.1。
API | 操作描述 |
提交一个转封装(或音视频分段)任务 |
提交任务
功能说明
提交一个转封装(或音视频分段)任务
使用示例
function postSegment() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing};const key = `jobs`; // 固定值,必须const host = `${config.Bucket}.ci.${config.Region}.myqcloud.com`;const url = `https://${host}/${key}`;const body = COS.util.json2xml({Request: {// 创建任务的 Tag:Segment;是否必传:是Tag: 'Segment',// 待操作的文件信息;是否必传:是Input: {// 文件路径;是否必传:是Object: 'test.mp4',},// 操作规则;是否必传:是Operation: {// 转封装参数;是否必传:是Segment: {// 封装格式,支持 aac、mp3、flac、mp4、ts、mkv、avi、hls、m3u8;是否必传:是Format: 'mp4',// 转封装时长单位:秒不小于5的整数不设置 Duration 时,表示只转封装格式不分段;是否必传:否Duration: '5',// 处理的流编号,对应媒体信息中的 Response.MediaInfo.Stream.Video.Index 和 Response.MediaInfo.Stream.Audio.Index,详见 获取媒体信息接口�;是否必传:否// TranscodeIndex: '',// // hls 加密配置,当封装格式为 hls 和 m3u8 时生效;是否必传:否// HlsEncrypt: {// // 是否开启 HLS 加密,取值 true/false,默认值 false;是否必传:否// IsHlsEncrypt: '',// // HLS 加密的 key,当 IsHlsEncrypt 为 true 时,该参数才有意义;是否必传:否// UriKey: '',// },// // 开始时间取值范围: [0,视频时长],默认值为0单位为秒支持 float 格式,执行精度精确到毫秒;是否必传:否// StartTime: '',// // 结束时间取值范围:[0, 视频时长],默认值为视频结束时间单位为秒支持 float 格式,执行精度精确到毫秒;是否必传:否// EndTime: '',},// 结果输出配置;是否必传:是Output: {// 存储桶的地域;是否必传:是Region: config.Region,// 存储结果的存储桶;是否必传:是Bucket: config.Bucket,// 输出结果的文件名;是否必传:是Object: 'output/out-${number}',},// 任务优先级,级别限制:0 、1 、2 。级别越大任务优先级越高,默认为0;是否必传:否JobLevel: '0',},// 任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式;是否必传:否CallBackFormat: '',// 任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型;是否必传:否CallBackType: 'Url',// 任务回调地址,优先级高于队列的回调地址。设置为 no 时,表示队列的回调地址不产生回调;是否必传:否CallBack: '',},});cos.request({Method: 'POST', // 固定值,必须Key: key, // 必须Url: url, // 请求的url,必须Body: body, // 请求体参数,必须ContentType: 'application/xml', // 固定值,必须},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.Response);}});}postSegment();
参数说明
cos.request 方法参数说明:
参数名称 | 参数描述 | 类型 | 是否必填 |
Method | 固定值:POST | String | 是 |
Url | 请求 url,固定值 | String | 是 |
Key | 固定值:jobs | String | 是 |
ContentType | 固定值 | String | 是 |
Body | 请求体详情请参见 提交任务 | Object | 是 |
回调函数说明
function(err, data) { ... }