最近更新时间:2024-04-12 17:29:01
根据已设置的模板创建媒体转码任务
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(默认视频)、audio(音频)、subtitle(字幕)支持srt、ass格式 |
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\\"}"
avinfo
"ExtParam":"" //avinfo暂时没有ExtParam,所以可以选择不传,或传空字符串
logo
"ExtParam":"{\"f\":\"flv\",\"LOGOS\":[[{\"dx\":\"20\",\"disable_scale\":1,\"dy\":\"100\",\"referPos\":\"BottomRight\",\"logotype\":\"image\",\"url\":\"http://qa-vod.ks3-cn-beijing-internal.ksyun.com/hanfang1/video_test/timg.jpg\",\"usage_scenario\":\"WgeH\"}]]}"
表格中的参数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 单位:% |
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 | 否 | 原文:“12345678_abcdefg” 编码后的密钥:“MTIzNDU2NzhfYWJjZGVmZw==” | 需要使用hls加密功能时必填;base64_urlsafe编码后的密钥,支持数字、字母、下划线且字节长度限制16字节 |
hlsKeyUrl | string | 否 | 需要使用hls加密功能时必填;指定了密钥放置的url,经过base64_urlsafe编码,这是生成m3u8 PlayList会使用到的,支持数字、字母、下划线 |
logo扩展参数(水印):
参数 | 格式 | 必填项 | 参数说明 |
---|---|---|---|
url | string | 是 | 必填,水印图片地址,需要ks3的内网地址。该pic必须是不需要签名就可以访问的,public。该pic必须是与转码服务在同一region,即转码源文件在上海bucket,pic也要在上海bucket。 |
offsetX | int | 否 | pic宽的偏移值,向右为正。可选值,默认把pic放在左上角,offsetX=10,offsetY=10。如果offsetX=-10,offsetY=10,则Pic放在视频右上角。 |
offsetY | int | 否 | pic高的偏移值,向下为正。可选值,默认把pic放在左上角,offsetX=10,offsetY=10。如果offsetX=-10,offsetY=10,则Pic放在视频右上角。 |
ss | int | 否 | 设置logo的进入时间,单位为秒。不设默认为0:从头开始。 |
duration | int | 否 | 设置logo的显示持续时间,单位为秒。不设默认为0:持续到结束,video类型logo持续到video结束。 |
referPos | string | 否 | 水印的基准位置,每个位置有对应的锚点,TopRight、TopLeft、BottomRight、BottomLeft、Top、Bottom、Left、Right、Center。默认TopLeft。 |
width | string | 否 | string类型,值有两种形式:整数型代表水印图片宽的像素值,范围[8,4096],单位px;小数型代表相对输出视频分辨率宽/高的比率,范围(0,1],支持4位小数,如0.9999,超出部分系统自动丢弃。小数时可添加 *h 或 w 指定比率的参考是视频的宽或高,如 0.26h 表示占视频高的0.26。 |
height | string | 否 | 同上。 |
opacity | string | 否 | 不透明度设置,范围(0-1],值越大不透明度越高。不设置默认为1。支持1位小数,比如0.8,超出部分自动丢弃。 |
Callback:
名称 | 类型 | 必填项 | 示例值 | 描述 |
---|---|---|---|---|
progress_cbmethod | string | 否 | “POST” | 转码进度回调用户请求方法,默认POST,当前只支持 POST,用户不需要设置 |
progress_cburl | string | 否 | “http://10.89..*:8899” | 转码进度回调用户地址 |
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
{
\t"TaskID":"40d309d3b2bf373cd3f08e5b5e1bddf720160816",
\t"ErrNum":0,
\t"ErrMsg":"success"
}
音视频拼接功能需要设置多个源文件为前提(创建任务时指定),且存在以下限制:
不转码拼接,速度快,但限制也多(暂不提供):
不同编码方案的音频,比如libmp3lame,libfaac,音频不能拼接;
视频拼接,编码方案相同,分辨率不同,码率相同,帧率相同,可以拼接成功,但播放器不支持;
视频拼接,编码方案相同,分辨率相同,码率不同,帧率相同,拼接成功之后码率取平均值;
视频拼接,编码方案相同,分辨率相同,码率相同,帧率不同,拼接成功,但播放器不支持;
视频拼接,编码方案不同,分辨率不同,码率相同,帧率相同,有错误提示"Could not concat between 1280x720and 1920x1080";
转码拼接,用avtrans:
视频间的音视频轨道数不同,拼接失败;
纯音频拼接,拼接失败;
目前支持纯视频拼接和A,V轨道都为1的音视频拼接;
纯净模式