最近更新时间:2024-08-15 10:42:07
媒体转码模板是以Json格式预先设定的一组或多组转码参数,用来指定实施转码之后的目标媒体文件的特性参数以及转码的处理方式,包括视频分辨率、码率、帧率以及加水印、截图等相关参数,客户使用媒体转码服务时均需事先定义好转码模板,然后再根据模板来执行相关任务。
根据转码任务类型的不同,将媒体转码模板分为以下六种类型:
avtrans:转码/转码拼接/格式转换/水印/切片
avsnapshot:单张截图
avinfo:音视频信息获取
avsample:采样截图
audiowave:输出音频波形数据
aiproduction:智能媒体生产
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
Preset | string | 是 | 模板名称,由2~32位字母、数字、下划线组成 |
Description | string | 否 | 模板描述 |
PresetType | string | 是 | 模板类型,目前支持avtrans/avsample/avsnapshot/avinfo,媒体转码模板命名空间模板名+模板类型必须唯一 |
Param | json object | 是 | 模板详情参数集,用于设定具体的转码参数,不同类型的模板具有不同的Param参数形式 |
Kshd | int | 否 | 集智高清开关参数,0:关闭(默认) 1:开启 |
所有媒体转码模板具有统一的格式:
{
"Preset": "mypreset",
"Description": "demo",
"PresetType": "avtrans",
"Param":{
...
}
}
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
f | string | 是 | 转码输出的容器格式(ContainerFormat),可选值:mp4,flv,hls,mpegts,mp3,adts,dash,gif。 |
AUDIO | json object | 否 | 指定输出文件音频流的参数,详见下方AUDIO参数详情 |
VIDEO | json object | 否 | 指定输出文件视频流的参数,详见下方VIDEO参数详情 |
LOGOS | json array | 否 | 往输出文件中加一张logo。 |
mulrate | int | 否 | Dash多码率转码开关, 0:关闭 1:开启,开启后支持dash多码率转码,仅适配mulAb(音频多码率)、mulVb(视频多码率)、mulRes(视频多分辨率)参数设定,音频多码率与视频多码率位置一一对应例如mulVb为 2m:1200k:800k,mulres为1920x1080:1280x720:600x360,那么2m与1920x1080即为映射关系 |
CLIP | json object | 否 | 指定输出文件剪切参数。 |
zdParams | json object | 否 | 集智高清参数集,Kshd开关打开时必填,关闭时不生效。 |
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
ab | string | 否 | 音频码率,支持k表示,如:128k。取值范围 20000~320000(单位:bps) |
mulAb | string | 否 | 在mulrate=1情况下有效,音频多码率,格式:128k:64k:32k |
ar | string | 否 | 音频采样频率,单位:hz (1)、音频编码格式为mp3时,ar支持:44100、48000、32000 、22050 、24000、 16000 、11025、 12000 、8000 (2)、音频编码格式为aac时,ar支持:96000、88200、64000、 48000、 44100、 32000、 24000、 22050 、16000、 12000、 11025 、8000 (3)、特殊说明:视频封装格式为flv且音频编码格式为mp3时,ar不支持32000、48000 |
an | int | 否 | 是否去除音频流, 0:不去除(默认);1:去除 |
acodec | string | 否 | 音频编码器,支持:aac(默认)、mp3、copy。设置copy时,请保证容器格式与codec兼容。当f输出格式为mp3时,acodec必须设置为mp3 |
profile | string | 否 | 音频编码预置,当acodec为aac时,范围aac_low、aac_he。默认逻辑:码率小于64k为aac_he,否则为aac_low,设置为aac_low采样率保持不变 设置为acc_he采样率会变小大约一半 |
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
vr | string | 否 | 视频帧率,取值范围 [1,120] |
vb | string | 否 | 视频码率,支持k、m 如:400k。取值范围 30000~50000000(单位:bps) |
vcodec | string | 否 | 视频编码器,支持:h264(默认)、h265 |
width | int | 否 | 视频分辨率宽,如果只指定任一,会按原视频宽高比缩放到指定值,需要在as=1情况下使用,取值范围(0,4096] |
height | Int | 否 | 视频分辨率高,如果只指定任一,会按原视频宽高比缩放到指定值,需要在as=1情况下使用,取值范围(0,4096] |
mulVb | string | mulrate=1时,必填 | 在mulrate=1情况下有效,视频多码率,支持k、m格式:2m:1200k:800k |
mulRes | string | mulrate=1时,必填 | 在mulrate=1情况下有效,格式: 1920x1080:1280x720:600×360,视频多分辨率与多码率参数一一对应,支持按原比例等比缩放,自动计算另一边长格式为例如-1x360,待计算边长用-1替代 |
mulVr | string | mulrate=1时,必填 | 在mulrate=1情况下有效,格式: 24:23:30,视频帧率与视频分辨率、视频码率一一对应 |
shortSide | int | 否 | 设置输出视频短边,程序按照原始比例自动缩放。如果需要模板支持横竖屏视频自动判断转码,则设置该参数。该参数需要在as=1情况下使用 |
as | int | 否 | 是否按原比例进行缩放,取值范围 0:不自动缩放(默认);1:自动缩放 |
vn | int | 否 | 是否去除视频流,取值范围 0:不去除(默认);1:去除 |
intervalframes | int | 否 | 转gif等动态图时,指定抽帧间隔,单位为帧,不设默认不抽帧 |
loop | int | 否 | gif与webp循环次数,默认不循环 |
finaldelay | int | 否 | gif的loop间隔,单位为百分之一秒,比如500代表间隔为5s |
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
clip_type | int | 如果上层CLIP不为空,则必填 | 剪切类型:0 剪切拼接; 1截取。 |
clip_extent | array | 如果上层CLIP不为空,则必填 | clip的作用范围,starttime表示开始时间,endtime表示结束时间,详情如下 |
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
starttime | float | 否 | 表示clip开始时间点,单位:秒,支持小数点后3位,即毫秒 |
endtime | float | 是 | 表示clip开始结束点,单位:秒,支持小数点后3位,即毫秒 |
{
"Param": {
"f": "mp4",
"VIDEO": {
"vcodec": "copy"
},
"AUDIO": {
"acodec": "copy"
},
"CLIP": {
"clip_type": 1,
"clip_extent": [{
"starttime": 10.231,
"endtime": 20.220
}]
}
}
}
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
video_tpye | int | 是 | 视频类型分以下几种:0:通用1:秀场2:游戏3:动画 |
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
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 | 否 | 同上。 |
dx | string | 否 | string类型,水印图片相对输出视频的水平偏移量,默认值是0;值有两种形式:整数型代表偏移像素,范围[-4096,4096],单位px;小数型代表水平偏移量与输出分辨率宽的比率,范围(-1,1),支持4位小数,如0.9999,超出部分系统自动丢弃。小数时可添加 h 或 w 指定比率的参考是视频的宽或高,如 0.26*h 表示视频高的0.26。若设置,则此值覆盖决策出的offsetX的值。 |
dy | string | 否 | 同上,而且dx/dy只要有一个设置,就会同时覆盖offsetX与offsetY,没有设置另一个值按默认值处理。 |
opacity | string | 否 | 不透明度设置,范围(0-1],值越大不透明度越高,1表示完全不透明。不设置默认为1。支持1位小数,比如0.8,超出部分自动丢弃。 |
loop | int | 否 | 动态logo轮询次数,目前只支持gif格式的水印,0为无限循环,不设置默认为0。 |
水印宽、高参数设置说明:
水印位置坐标说明:
**avsample模板支持处理截图视频格式包含(MP4,flv,m3u8,mov,wmv,avi,mpg,mpeg)**输出格式为根据dstobjectkey指定,支持jpg、png、默认为jpg
名称 | 类型 | 描述 | 必填项 |
---|---|---|---|
width | int | 图片分辨率宽。如果只指定width/height任一,会按原比例缩放 | 否 |
height | int | 图片分辨率高。如果只指定width/height任一,会按原比例缩放 | 否 |
interval | int | 间隔,单位s | 是 |
avsample模板的param示例如下:
{
"width": xxx,
"height": xxx,
"interval": xxx
}
avsnapshot模板支持处理截图视频格式包含(mp4,flv,m3u8,mov,wmv,avi,mpg,mpeg),输出格式为根据dstobjectkey指定,支持jpg、png,默认为jpg
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
width | int | 否 | 图片分辨率宽。如果只指定width/height任一,会按原比例缩放 |
height | int | 否 | 图片分辨率高。如果只指定width/height任一,会按原比例缩放 |
shortSide | int | 否 | 设置输出截图短边,程序按照原始比例自动缩放。如果源视频既可能横屏,也可能竖屏,需要模板支持自动判断生成截图,则设置该参数,该参数为第一优先级 |
ss | string | 是 | 设置截图的时间点,单位s |
avsnapshot的param示例如下:
{
"width": xxx,
"height": xxx,
"shortSide":360,
"ss": "30"
}
{
//avinfo无需参数
}
名称 | 类型 | 必填项 | 描述 |
---|---|---|---|
function_name | string | 是 | smart_cover:智能封面 |
aiproduction模板的param示例如下:
{
"function_name":"smart_cover"
}
注:以上模板格式中,参数值均为示例值。
纯净模式