提交任务

最近更新时间:2024-06-04 16:40:11

我的收藏

简介

提交音视频转封装任务功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。 本文档提供关于提交音视频转封装任务的相关 API 概览以及 SDK 示例代码。
注意
COS Javascript SDK 版本需要大于等于 v1.3.1。
API
操作描述
提交一个转封装(或音视频分段)任务

提交任务

功能说明

提交一个转封装(或音视频分段)任务

使用示例

function postSegment() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459
const 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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 提交任务
Object

相关链接