模板说明

最近更新时间:2020-08-12 17:53:00

模板说明

模板类型说明

媒体转码模板是以Json格式预先设定的一组或多组转码参数,用来指定实施转码之后的目标媒体文件的特性参数以及转码的处理方式,包括视频分辨率、码率、帧率以及加水印、截图等相关参数,客户使用媒体转码服务时均需事先定义好转码模板,然后再根据模板来执行相关任务。

根据转码任务类型的不同媒体转码模板分为以下四种类型:

  • avtrans:转码/转码拼接/格式转换/水印/切片 [原avop/avm3u8,也包含了水印设置]
  • avsample:采样截图
  • avsnapshot:单张截图
  • avinfo:音视频信息获取

公有参数说明

名称 类型 必填项 描述
Preset string 模板名称,由2~32位字母、数字、下划线组成
Description string 模板描述
PresetType string 模板类型,目前支持avtrans/avsample/avsnapshot/avinfo,媒体转码模板命名空间模板名+模板类型必须唯一
Param json object 模板详情参数集,用于设定具体的转码参数,不同类型的模板具有不同的Param参数形式

公有参数格式定义:

所有媒体转码模板具有统一的格式:

{
    "Preset": "mypreset",
    "Description": "demo",
    "PresetType": "avtrans",
    "Param":{
      ...
    }
}

四类模板Param详细说明

1. 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即为映射关系
mulcopysrc int 多码率情况下源流是否输出 0:关闭 1:开启,开启后会多输出一路源流。注:目前源流和转码流关键帧对齐暂未实现

转码音频参数详情(AUDIO)

名称 类型 必填项 描述
ab string 音频码率,支持k表示,如:128k。取值范围 20000~320000
mulAb string 在mulrate=1情况下有效,音频多码率,格式:128k:64k:32k
ar string 音频采样频率,取值范围 8000~96000
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采样率会变小大约一半
aacheCompatible int AAC编码中针对aac_he和acc_he_v2兼容模式,0:兼容(默认) 1:不兼容。
resampler string 音频重采样算法,支持:swr(默认)、soxr。

转码视频参数详情(VIDEO)

名称 类型 必填项 描述
vr string 视频帧率,取值范围 [1,60]
vb string 视频码率,支持k、m 如:400k。取值范围 30000~50000000
mulVb string 在mulrate=1情况下有效,视频多码率,支持k、m格式:2m:1200k:800k
qpmax int 最大量化值,默认不设置,取值范围 [0,51],推荐范围 25-50
crf int 质量模式,默认不设置,该选项与 qpmax 互斥,两者同时设置时则 qpmax 无效。取值范围 [0,51],推荐范围 15-35。如果同时设置vb参数,则vb对应为转码最大码率限制,非转出码率
maxrate string 最大码率(格式同"vb"), 在crf启用时有效,如果不指定,默认会使用vb值,建议使用crf+maxrate时不设置vb
vcodec string 视频编码器,支持:h264(默认)、h265
width int 视频分辨率宽,如果只指定任一,会按原视频宽高比缩放到指定值,需要在as=1情况下使用
height Int 视频分辨率高,如果只指定任一,会按原视频宽高比缩放到指定值,需要在as=1情况下使用
mulRes string 在mulrate=1情况下有效,格式: 1920x1080:1280x720:600×360,视频多分辨率与多码率参数一一对应,支持按原比例等比缩放,自动计算另一边长格式为例如-1x360,待计算边长用-1替代
shortSide int 设置输出视频短边,程序按照原始比例自动缩放。如果需要模板支持横竖屏视频自动判断转码,则设置该参数。该参数需要在as=1情况下使用
as int 是否按原比例进行缩放,取值范围 0:不自动缩放(默认);1:自动缩放
vn int 是否去除视频流,取值范围 0:不去除(默认);1:去除
orientationAdapt int 是否横竖屏自适应切换。原文件的分辨率发生变化时(一般出现在横竖屏切换时),转码后的宽高是否跟着变。0:关闭(默认);1:打开
uniformRes int 源视频分辨率发生变化时,保持输出分辨率。orientationAdapt打开时生效。0:不保持(默认),会在转码中应用统一的缩放系数;1:保持,会在转码中应用统一的分辨率。
preset string 视频编码档次设置veryfast、medium、slow和slower。默认:veryfast。画质排序:veryfast < medium < slow < slower。效率排序:veryfast > medium > slow > slower
profile string 编码档次,仅在vcodec为h264时有效。支持baseline、main、high
level string 编码级别,仅在vcodec为h264时有效。可取值: 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2, 5, 5.1
intervalframes int 转gif等动态图时,指定抽帧间隔,单位为帧,不设默认不抽帧
lossless int 生成webp动图时,选择转码模式。0:有损模式(默认); 1:无损模式
qscale int 选择lossless模式时,质量因子[0-100],默认75
compressionlevel int 选择lossless模式时,压缩等级[0-6],默认4
loop int gif与webp是否loop及loop几次,默认是0。0:indefinitely loop; -1: gif不loop,webp不支持; 其他:gif loop次数,webp除去第一次后loop次数。
finaldelay int gif的loop间隔,单位为百分之一秒,比如500代表间隔为5s
denoise string 去噪声,使用hqdn3d filter。可选值:off, weak, medium, strong。也可以是hqdn3d的参数值,如6:6:6:6。weak对应的hqdn3d参数为2:1:2:3,medium对应3:2:2:3,strong对应7:7:5:5。
deinterlace string 去交错,使用yadif filter。可选值为off, interlaced, all。也可以是yadif的参数值,如0:-1:1。

备注:

  • orientationAdapt应用于源视频有发生横竖屏切换的的情况;如果源视频可能发生横竖屏切换的情况,你希望转码输出统一的分辨率,且模板中未设置logo时,不要设置orientationAdapt。
  • orientationAdapt不能应用于加动态logo,或者使用多文件拼接的场景。

转码水印参数详情(LOGOS)

名称 类型 必填项 描述
url string 必填,水印图片地址,需要ks3的内网地址。该pic必须是不需要签名就可以访问的,public。该pic必须是与转码服务在同一region,即转码源文件在上海bucket,pic也要在上海bucket。
logotype string 设置logo文件的类型,目前只支持image(静态)。不设置默认为"image"
usage_scenario string 指定该LOGO文件的使用场景。按输出视频的宽(width)与高(height),分为宽大于等于高(WgeH),宽小于高(WltH)两种场景。不指定或为"ALL":两种场景都可以使用该pic。"WgeH":只能在输出视频宽大于等于高时使用该pic。"WltH":只能在输出视频宽小于高时使用该pic。
effect_objects(适用拼接场景) string 指定该LOGO的作用对象。主要考虑多输入的场景(拼接),用"0,1,2"表示,0,1,2表示源文件的index,可以设置多个,中间用逗号隔开。不设置的话默认加在整个输出视频上。
optimal_w/optimal_h/shortSide int 该pic最适合应用于哪种分辨率的输出视频上。如果preset里设置了多个logo,此项为必填,否则加不上logo,如果只设置一个logo,此项可选。推荐用户设置。optimal_w:指定与该pic最匹配的输出视频的宽,当输出视频的宽等于optimal_w时,该pic可以不做伸缩,原样置于输出视频上。optimal_h:指定与该pic最匹配的输出视频的高,当输出视频的高等于optimal_h时,该pic可以不做伸缩,原样置于输出视频上。<注> 优先级optimal_w > optimal_h > short_side。如果logo只有一个,且不设置三者任何一个,则disable_scale=1,logo可以加上。否则不加。
disable_scale int 根据optimal_w,或optimal_h,或short_side,自动缩放pic的尺寸。可选,默认为0,即开启自动缩放。例如:short_side = 480, 当某个视频是360P时,logo的尺寸会乘以0.75。offsetX、offsetY也会做相应的调整。
offsetX(推荐用dx代替) int pic宽的偏移值,向右为正。可选值,默认把pic放在左上角,offsetX=10,offsetY=10。如果offsetX=-10,offsetY=10,则Pic放在视频右上角。
offsetY(推荐用dy代替) 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。没有默认值,不设置的话会按照老的方式计算位置。
width string string类型,值有两种形式:整数型代水印图片宽的像素值,范围[8,4096],单位px;小数型代表相对输出视频分辨率宽/高的比率,范围(0,1],支持4位小数,如0.9999,超出部分系统自动丢弃。小数时可添加 *h 或 *w 指定比率的参考是视频的宽或高,如 0.26*h 表示占视频高的0.26。若设置,则此值覆盖根据optimal_w/optimal_h/short_side决策出的水印图片宽/高。
height string 同上,而且width/height只要有一个设置,就会覆盖optimal_w/optimal_h/short_side决策出的水印图片宽/高,没有设置的另一边,会按照水印的纵横比自动缩放。
dx(推荐设置,替代offsetX) string string类型,水印图片相对输出视频的水平偏移量,默认值是0;值有两种形式:整数型代表偏移像素,范围[-4096,4096],单位px;小数型代表水平偏移量与输出分辨率宽的比率,范围(-1,1),支持4位小数,如0.9999,超出部分系统自动丢弃。小数时可添加 h 或 w 指定比率的参考是视频的宽或高,如 0.26*h 表示视频高的0.26。若设置,则此值覆盖决策出的offsetX的值。
dy(推荐设置,替代offsetY) string 同上,而且dx/dy只要有一个设置,就会同时覆盖offsetX与offsetY,没有设置另一个值按默认值处理。
opacity string 不透明度设置,范围(0-1],值越大不透明度越高,1表示完全不透明。不设置默认为1。支持1位小数,比如0.8,超出部分自动丢弃。
loop int 动态logo轮询次数,目前只支持gif格式的水印,0为无限循环,不设置默认为0。

水印宽、高参数设置说明:

  • 宽、高都不设置时,水印会根据optimal_w/optimal_h/shortSide的值决策出的缩放系数缩放;
  • 宽或高设置一边,另一边不设置时,则另一边按水印原图宽高比等比缩放;
  • 宽、高两边都设时,按实际设置值缩放水印图片。
  • 如果有从多个logo中选择最佳尺寸水印的场景,请不要设置这两个参数,用optimal_w/optimal_h/shortSide代替。

水印位置坐标说明:

模板说明

2.avsample模板Param格式定义:

avsample模板支持处理截图视频格式包含(MP4,flv,m3u8,mov,wmv,avi,mpg,mpeg)输出格式为根据dstobjectkey指定,支持jpg、png、jpeg,默认为jpg

名称 类型 描述 必填项
width int 图片分辨率宽。如果只指定width/height任一,会按原比例缩放
height int 图片分辨率高。如果只指定width/height任一,会按原比例缩放
interval int 间隔,单位s
spriteflag int 是否生成雪碧图
spritew int 雪碧图横向排列张数,默认为10
spriteh int 雪碧图纵向排列张数,默认为10
pattern string 输出雪碧图名称mypicturename-%5d.jpg

avsample模板的param示例如下:

{
    "width": xxx,
    "height": xxx,
    "interval": xxx,
    "spriteflag": xxx,
    "spritew": xxx,
    "spriteh": xxx
}

3.avsnapshot模板Param格式定义:

avsnapshot模板支持处理截图视频格式包含(MP4,flv,m3u8,mov,wmv,avi,mpg,mpeg)输出格式为根据dstobjectkey指定,支持jpg、png、jpeg,默认为jpg

名称 类型 必填项 描述
width int 图片分辨率宽。宽高必须全部设定,除非设置了shortSide,否则会按源分辨率生成截图
height int 图片分辨率高。宽高必须全部设定,除非设置了shortSide,否则会按源分辨率生成截图
shortSide int 设置输出截图短边,程序按照原始比例自动缩放。如果源视频既可能横屏,也可能竖屏,需要模板支持自动判断生成截图,则设置该参数。该参数优先级最高

avsnapshot的param示例如下:

{
    "width": xxx,
    "height": xxx,
    "shortSide":360,
    "ss": "30"
}

4.avinfo模板Param格式定义:

{
    //avinfo无需参数
}

注:以上模板格式中,参数值均为示例值。

金山云,开启您的云计算之旅

免费注册