模板说明

最近更新时间:2020-05-11 18:22:56

转码模板是以Json格式预先设定一套转码参数,在拉流URL中携带转码参数,用来标识转码流,详情见直播转码操作详解

模板格式定义:


{  

  //必选参数:客户域名标识,string,模板一级参数,由2~128位字母、数字、下划线组成

  "UniqName":"myuniqname",

  //必选参数:客户频道名,string,模板一级参数,由2~32位字母、数字、下划线组成

  "App":"live",

  //必选参数:模板名称,string,模板一级参数,在用户直播转码模板命名空间唯一,由2~32位字母、数字、下划线组成

  "Preset":"live_for_demo",

  //可选参数:模板描述,模板一级参数,string

  "Description": "demo",

  //必选参数:转码输出流媒体参数集,array,模板一级参数,用于设定一到多组参数集,每一组参数产生一路转码输出流

  "Output":

  [

    //array元组:单路转码输出参数集,object

    {

      //必选参数:转码输出流关键参数集,object

      "format":

      {

        //必选参数:转码输出档标识,int,转码核心参数,指定转码输出媒体流的参数档次,见转码输出格式表

        "output_format":256,

        //可选参数:自定义视频码率,int,取值范围100000~10000000

        //单位换算 1k=1024byte 如:100k = 102400

        "vbr":800000,

        //可选参数:视频码率阈值,int,取值范围100000~10000000

        //单位换算 1k=1024byte 如:100k = 102400

        "vbr_threshold":810000,

        //可选参数:自定义音频码率,int,取值范围20000~320000

        //单位换算 1k=1024byte 如:100k = 102400

        "abr":64000,

        //可选参数:音频码率阈值,int,取值范围20000~320000

        //单位换算 1k=1024byte 如:100k = 102400

        "abr_threshold":65000,

        //可选参数:自定义帧率,int,取值范围1~30

        "fr":25,

        //可选参数:I帧间隔,int,单位:秒,默认5

        "gop":5,

        //可选参数:最大连续B帧个数,264时默认值3,265时默认值为7,int

        //264时取值范围:[0,7];265时取值0,1,3,7;0为不使用B帧,无效设置时,取默认值

        //与keepPtsAndIDR参数同时设置时,copy源流B帧输出

        "bframes":6,

        //可选参数:H.264参数,B和P帧向前预测参考的帧数,int

        //取值范围:[1,16] 默认值6

        "refs":3,

        //可选参数:H.264参数,控制在运动估算过程中质量和速度的权衡,int

        //取值范围:[1,9],默认值6

        "subme":9,

        //可选参数:H.264参数,自适应量化器模式,int

        //取值范围:0:完全关闭 1:允许自适应量化器在所有视频帧内部分配比特

        "aq-mode":0,

        //可选参数:H.264参数,VBV缓冲大小系数 ,vbv_bufsize_scale*vbr/1024,float

        //取值范围:(0,4] 默认值 1

        "vbv_bufsize_scale":1,

        //可选参数:设置用于线程预测的帧缓存大小,可设置为0或1。

        //取值范围:[0, 250],设为0将关闭线程预测,将减小延迟,但是以降低性能为代价。

        "sync_lookahead": 0,

        //可选参数:mb-tree ratecontrol可用的帧的数量,影响直播延时,值越大,转码引入的延时越大,int

        //取值范围:[4,16],超出取默认值,H.264编码码默认为4,ksc265编码默认为9

        "lookahead":9,

        //可选参数:output_format序号,int,若output设置了重复的output_format,则需设置此参数以作区分,取值整数0~99,推流转码时将和output_format共同决定转码拉流地址的默认后缀"_{output_format}{format_index}"

        "format_index":1,

        //可选参数:自定义拉流后缀名,string,由字母、数字、下划线组成

        "suffix":"_mysuffix",

        //该转码流对应的多码率BANDWIDTH值

        //单位是b/s

        //如果开启多码率转码,则需要设置该参数

        //如果没设置或者小于50000则认为该路未开通多码率

        "HlsBandwidth":350000,

        //可选参数:音视频转码选项,int,默认0

        //0:音视频都转码

        //1:音频原样输出,视频转码

        //2:视频原样输出,音频转码

        //3:音视频都原样输出

        "remuxflag": 0,

        //指定转出纯音频或纯视频:默认0

        //0:音视频都保留

        //1:只保留视频

        //2:只保留音频

        "exstream":0,

        //可选参数:视频加水印LOGO开关选项,int,用来确定是否对视频添加水印,默认0

        //0:关闭

        //1:开启,开启时必须在output->video->LOGO中配置LOGO图

        "logo_switch":0,

        //可选参数:流名变换输出选项,int,用于决定是否使用变换的流名为转码输出基准流名,默认0

        //0:不使用变换的流名为转码输出基准流名

        //1:使用变换的流名为转码输出基准流名

        "stream_transform_tag":1,

        //按照GOP值强制切I帧

        //是否开启场景切换

        //0:开启 1:关闭

        //默认值:0 

        "DisableScenecutSwitch":0

      },

      //可选参数:推流开关参数集,object

      "switch":

      {

        //可选参数:截图功能开关,int, 0:关,1:开,

        "sn":0,

        //可选参数:鉴黄功能开关,int, 0:关,1:开,

        "sm":0,

        //可选参数:hls点播功能开关,int, 0:关,1:开,

        "hv":0,

        //可选参数:flv点播功能开关,int, 0:关,1:开,

        "fv":0,

        //可选参数:mp4点播功能开关,int, 0:关,1:开,

        "mv":0,

        //可选参数:推流回调功能开关,int, 0:关,1:开,

        "un":0,

        //可选参数:外部鉴权功能开关,int, 0:关,1:开,

        "od":0,

        //可选参数:旁路推流功能开关,int, 0:关,1:开,

        "bu":0

      }

    },

    //array元组:单路转码输出参数集,object,output设置多组成员时可同时发起多路转码,若其中outpput_format有重复时,则需使用output->format->format_index参数加以区分

    {   

      "format":{...},

      "switch":{...}

    }

  ],

  //可选参数:视频设置补充参数集,object,模板一级参数

  "Video":

  {

    //可选参数:支持横竖屏动态切换开关,int,0:关,1:开,默认0

    "orientationAdapt":0,  

 //可选参数:将输入视频流中的指定SEI_Type的SEI,透传到转码输出流中  

    //透传的SEI必须与视频nal在一个pkt里面,且SEI在视频nal的前面。  

    //取值范围:[-1, 254],默认值:5,如果取值:-1,说明不保留SEI。  

    "seitype_reserved": 5,  

    //可选参数,转码时将未知的SEI赋值的输出流。   

    "copy_unknown_sei": 1,  

 //可选参数:视频裁剪width和height二者必须设置一个以上才生效  

    //可选参数:水印参数集,array,指定一到多组水印参数

    "LOGO":

    [

      //array元组:单张水印图片参数集,object

      {

        //必选参数:水印图片所在的ks3中路径,string,必须是公共可访问,且与转码服务在同一region的

        "pic":"/mybucketname/myobjectname",

       //可选参数:自定义水印图片宽度,int

        "optimal_w":480,

       //可选参数:自定义水印图片高度,int

        "optimal_h":640,

        //可选参数:水印图片横向偏移,int,向右为正,默认10

        "offsetX": -10,

        //可选参数:水印图片纵向偏移,int,向下为正,默认10

        "offsetY": 10

      },

      //array元组:单张水印图片参数集,object。可以针对不同的使用场景(usage_scenario)和对应的optimal_w/optimal_h/short_side,配置不同尺寸的LOGO,设置多组水印参数时,转码服务会自动选择最优的一组

      {

        ...

      }

    ]

  },

  //可选参数:音频补充设置参数集,object,模板一级参数,待扩展

  "Audio": {

    ...

  }

  //HLS多码率,可选

  //HLS多码率一级m3u8拉流地址

  //格式:http://{ks3}/{HlsBucket}/{appchannel}/{streamname}/index.m3u8

  "HlsMbr":{

      //直播m3u8整合文件存放在ks3的bucket名称

      //该bucket需要开通桶策略

      //是否必须:是

      "HlsBucket":"test",

      //客户原hls拉流域名

      //格式:https或http://{host}

      //是否必须:是

      "HlsPullDomain":"http://www.ksyun.com",

      //源流对应的多码率BANDWIDTH值

      //单位是b/s

      //是否必须:否

      //如果没设置或者小于50000则认为源流未开通多码率

      "HlsBandwidth":350000

  }

}

备注:

  • 以上模板格式中,双斜杠注释内容是对下方参数的定义说明,参数值均为示例值。

  • 模板格式中output->format->output_format为转码核心参数,每一个值指定一组转码的默认参数,其定义参见如下转码输出格式表。

转码输出格式表:

为方便用户接入,直播转码使用一个output_format值作为一组转码默认参数的代号,即转码预设模板代号,是转码必选参数。预设模板参见下表。

对一般使用场景,只设置output_format足矣,转码会首先对输入源流进入嗅探,根据结果自动决策一组折中的转码参数集,其过程远比下表中罗列的更为复杂。

如果发现预设模板方案不能满足自身业务需求,可以使用视频云提供的SDK/API,调整转码模板中各转码参数,比如帧率、码率、加水印等。如何使用模板与转码输出格式表,请参照模板使用示例。如果您在配置模板中有任何问题,请咨询技术支持。

output_format container vcodec acodec resolution fps vbitrate(bps) samplerate(Hz) channels abitrate(bps)
256 flv h264 aac 144P 10 150K 22050 2 24K
257 flv h264 aac 240P 15 250K 22050 2 32K
258 flv h264 aac 360P 18 500K 22050 2 48K
259 flv h264 aac 480P 24 800K 44100 2 64K
260 flv h264 aac 540P 25 900K 44100 2 64K
261 flv h264 aac 720P 25 1100K 44100 2 96K
263 flv h264 aac 960P 30 1700K 44100 2 128K
264 flv h264 aac 1080P 30 2M 44100 2 128K
266 flv h264 aac 1440P(2K) 30 3M 44100 2 128K
268 flv h264 aac 2160P(4K) 30 6M 44100 2 128K
271 flv h264 aac COPY self-adapt self-adapt 44100 2 128K
274 flv h265 aac 360P 18 400K 22050 2 48K
275 flv h265 aac 480P 24 600K 44100 2 64K
276 flv h265 aac 540P 25 650K 44100 2 64K
277 flv h265 aac 720P 25 800K 44100 2 96K
279 flv h265 aac 960P 30 1200K 44100 2 128K
280 flv h265 aac 1080P 30 1400K 44100 2 128K
282 flv h265 aac 1440P(2K) 30 2M 44100 2 128K
284 flv h265 aac 2160P(4K) 30 4M 44100 2 128K
287 flv h265 aac COPY self-adapt self-adapt 44100 2 128K

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

免费注册