创建任务接口(CreateTask)

最近更新时间:2021-02-05 17:38:01

查看PDF

接口描述

根据已设置的模板创建媒体转码任务

请求方式:

POST

请求参数:

参数名 类型 是否必须 描述
Preset string 模板名称
SrcInfo json array 参考下面srcInfo表格
DstBucket string 输出目标Bucket
DstDir string 截图上传目录,avsample类型专属参数,对其他任务类型不起作用
DstObjectKey string 目录及文件名,例mydirectory/myfilename.mp4
DstAcl string 转码视频访问权限设置,参数:private、public-read 默认:public-read
IsTop int 是否置顶 1-是 0-否
CbMethod string 回调用户请求方法
CbUrl string 回调用户地址
ExtParam string 附加参数。注意,此值是一个字符串,是由json序列化而成。下方有示例。

srcInfo参数说明:

参数名 类型 是否必须 描述
path string 源文件在ks3的相对路径
index int 多文件拼接场景使用,注意第一个文件序号为 0 ,填1导致转码失败
type string 源文件类型(默认为video,方便日后扩展)

ExtParam 参数说明

用来在创建任务时传递不适用于放入模板里的字段,每种任务类型,extParam内容略有不同,如下:

avtrans


"ExtParam":"{\"Callback\":{\"progress_cburl\":\"xxx\", \"progress_cbmethod\":\"xxx\", \"progress_interval\":2}, \"ss\":\"xxx\", \"duration\":\"xxxx\",\"segment_filename\":\"xxxx\",\"vol_percent\":100,\"vol_dB\":10,\"mulHlsRate\":1,\"masterSrcIndex\":0,\"passParams\":{\"max_muxing_queue_size\":\"1000000\"}"

avsnapshot


"ExtParam":"{\"ss\":\"xxx\"}"

avsample


"ExtParam":"{\"ss\":\"xxx\", \"duration\":\"xxxx\", \"pattern\":\"xxxx\"}"

avinfo


"ExtParam":"" //avinfo暂时没有ExtParam,所以可以选择不传,或传空字符串

表格中的参数ss与duration支持三种时间格式,选任其一即可:


"55"            : 55 seconds

"12:03:45"      : 12 hours, 03 minutes and 45 seconds

"23.189"        : 23.189 seconds

avsample扩展参数(采样截图):

名称 类型 必填项 示例值 描述
ss string “2” 截图的开始时间点
segfile_acl string “private” private、public-read 默认:public-read
duration string “23” 指定截图持续时间长度

avsnapshot扩展参数(定点截图):

名称 类型 必填项 示例值 描述
ss string “2” 截图的开始时间点
segfile_acl string “private” private、public-read 默认:public-read
pattern string “test-%5d” 指定avsample各张截图名字格式,如 xxx-%05d.jpg。含义同上。如果不设,会默认用"snapshot-%5d"

avtrans扩展参数(转码):

名称 类型 必填项 示例值 描述
ss string “2” 指定转码的开始时间点
segfile_acl string “private” private、public-read 默认:public-read
duration string “23” 指定转码持续时间长度
segment_filename string “test-%03d.ts” 切片文件的名字规则,格式如右 xxxx-%03d.ts,%03d表示占位宽度为3,从000开始增长
seg_duration int 5 指定hls或dash切片大小,单位s
masterSrcIndex int 2 拼接时才需要设置,表示拼接时主文件序号,序号和SrcInfo里的index对应;其作用为指定转码时以哪个源文件作为决策依据;默认为0,即第一个源文件
vol_percent int 233 根据百分比调整音量大小,负值为减小,正值为增加。取值范围:-99至700 单位:%
265qua string “output264” 265同画质转码必填参数,可选值 “output264”:被参照的264转码;“output265”:同画质的265转码。
use_timeplate int 0 按照模板切片(dash转码时有效) 0-关闭,1-开启,默认: 1
use_timeline int 1 设置切片模板为时间模板(dash转码时有效) 0-关闭 1-开启,默认: 1
init_seg_name string “test” 设置切片初始命名模板前缀(dash转码时有效), 注意不要包含特殊字符, 如不设置default= init-stream$RepresentationID$.m4s, 如果设置前缀为test, 那么初始模板全名应为test-0.m4s 和 test-1.m4s
mulHlsRate int 1 在模板配置mulrate=1情况下有效,需要输出hls多码率文件 0-关闭 1-开启
mulHlsFileName string “test” 在mulHlsRate=1情况下,hls多码率文件名,路径与mpd文件一致,若不设置该参数则按照mpd文件名定义,如xxx.m3u8
media_seg_name string “test” 设置切片文件名模板前缀(dash转码时有效), 注意不要包含特殊字符, 如不设置default= chunk-stream$RepresentationID$-$Number%05d$.m4s, 如果前缀为media, 那么切片文件名模板全名为media-0-00001.m4s 和 media-1-00001.m4s等
hlsKey string 需要使用hls加密功能时必填;base64_urlsafe编码后的密钥,支持数字、字母、下划线
hlsKeyUrl string 需要使用hls加密功能时必填;指定了密钥放置的url,经过base64_urlsafe编码,这是生成m3u8 PlayList会使用到的,支持数字、字母、下划线

Callback:

名称 类型 必填项 示例值 描述
progress_cbmethod string “POST” 转码进度回调用户请求方法,默认POST,当前只支持 POST,用户不需要设置
progress_cburl string http://10.89..*:8899” 转码进度回调用户地址
progress_interval string “2” 指定转码进度上报时间间隔,单位:min 默认5分钟
timeout int 30 超时时间 单位:s
interval int 3 重试间隔时间 单位:s
retrytimes int 3 重试次数

subtitles:

名称 类型 必填项 示例值 描述
subtitlesUrl string http://ks3-cn-beijing-internal.ksyun.com/xxx/xxx.ass subtitlesUrl : 字幕存在在ks3内网地址,支持格式:ass/srt 如:http://ks3-cn-beijing-internal.ksyun.com/xxx/xxx.ass

subtitles参数说明:

{"ExtParam":"{\"subtitles\":[{\"subtitlesUrl\":\"http://ks3-cn-beijing-internal.ksyun.com/xxx/xxx.ass\"}]}"}

返回参数

参数名 类型 是否必须 描述
ErrNum int 错误码。0:成功;非0:失败
ErrMsg string 错误描述
TaskID string 任务ID

请求示例


POST /?Action=CreateTask

&Version=2017-01-01

&X-Amz-Algorithm=AWS4-HMAC-SHA256

&X-Amz-Date=20170519T081513Z

&X-Amz-Credential=xxxx

&X-Amz-SignedHeaders=xxxxx

&X-Amz-Signature=xxxxx HTTP/1.1

Host: kvs.cn-beijing-6.api.ksyun.com

Accept: application/json

{

    "Preset": "mypreset",

    "Pipeline":"xxxx",

    "SrcInfo": [

        {

            "path": "/mysrcbucket/myobject/mykey.mp4",

            "type": "video",

            "index": 0

        }

    ],

    "DstBucket": "mydstbucket",

    "DstObjectKey": "myobject/mykey.mp4",

    "DstDir": "",

    "DstAcl": "public-read",

    "CbMethod": "POST",

    "CbUrl": "xxxxx",

    "ExtParam": "{}"

}

返回示例


HTTP/1.1 200 OK

Server: ksyun-open-platform

Date: Fri, 12 May 2017 08:01:06 GMT

Content-Type: application/json;charset=UTF-8

Transfer-Encoding: chunked

{

	"TaskID":"40d309d3b2bf373cd3f08e5b5e1bddf720160816",

	"ErrNum":0,

	"ErrMsg":"success"

}

模板组合

拼接功能

音视频拼接功能需要设置多个源文件为前提(创建任务时指定),且存在以下限制:

  • 不转码拼接,速度快,但限制也多(暂不提供):

    不同编码方案的音频,比如libmp3lame,libfaac,音频不能拼接;

    视频拼接,编码方案相同,分辨率不同,码率相同,帧率相同,可以拼接成功,但播放器不支持;

    视频拼接,编码方案相同,分辨率相同,码率不同,帧率相同,拼接成功之后码率取平均值;

    视频拼接,编码方案相同,分辨率相同,码率相同,帧率不同,拼接成功,但播放器不支持;

    视频拼接,编码方案不同,分辨率不同,码率相同,帧率相同,有错误提示"Could not concat between 1280x720and 1920x1080";

  • 转码拼接,用avtrans:

    视频间的音视频轨道数不同,拼接失败;

    纯音频拼接,拼接失败;

    目前支持纯视频拼接和A,V轨道都为1的音视频拼接;

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

  • 内容不全,不深入
  • 内容更新不及时
  • 描述不清晰,比较混乱
  • 系统或功能太复杂,缺乏足够的引导
  • 内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈