云服务器内容精选

  • 请求示例 创建转码模板 POST https://{endpoint}/v2/{project_id}/asset/template/transcodings Content-Type: application/json { "name": "trans_template_test", "is_default": true, "is_auto_encrypt": false, "quality_info_list": [ { "video": { "width": 1280, "height": 720, "bitrate": 1000, "quality": "HD", "frame_rate": 0 }, "audio": { "sample_rate": "AUDIO_SAMPLE_AUTO", "channels": "AUDIO_CHANNELS_1", "bitrate": 0 } } ], "watermark_template_ids": [], "common": { "pvc": false, "video_codec": "H264", "audio_codec": "AAC", "format": "HLS", "hls_interval": 5 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 模板组名称 is_default 否 Boolean 是否设置成默认转码模板,默认false不设置为默认 is_auto_encrypt 否 Boolean 配置是否加密输出音视频,默认false不加密。 当前只支持加密输出HLS格式的音视频流,不会对原始上传的音视频进行加密处理。非HLS转码输出的音视频格式,此字段不可配置。开启此配置前,请参考《VOD用户指南》的“HLS加密设置”章节获取密钥URL。 quality_info_list 是 Array of QualityInfoList objects 画质配置信息列表 common 是 CommonInfo object 高清低码开关,编码格式多路共同参数 watermark_template_ids 否 Array of strings 绑定的水印模板组ID数组 description 否 String 模板介绍 表4 QualityInfoList 参数 是否必选 参数类型 描述 video 否 VideoInfo object 模板视频信息。video和audio至少配置一个参数。 audio 否 AudioInfo object 模板音频信息 表5 VideoInfo 参数 是否必选 参数类型 描述 quality 是 String 画质 4K默认分辨率3840*2160,码率8000kbit/s 2K默认分辨率2560*1440,码率7000kbit/s FULL_HD默认分辨率1920*1080,码率3000kbit/s HD默认分辨率1280*720,码率1000kbit/s SD默认分辨率854*480,码率600kbit/s FLUENT默认分辨率480*270,码率300kbit/s width 否 Integer 视频宽度 height 否 Integer 视频高度 bitrate 是 Integer 码率,单位:kbit/s frame_rate 是 Integer 帧率,单位是帧每秒。 取值范围:0或[5,60]之间的整数。 默认为0,0代表自适应。 表6 AudioInfo 参数 是否必选 参数类型 描述 sample_rate 是 String 音频采样率(有效值范围) AUDIO_SAMPLE_AUTO (default), AUDIO_SAMPLE_22050:22050Hz AUDIO_SAMPLE_32000:32000Hz AUDIO_SAMPLE_44100:44100Hz AUDIO_SAMPLE_48000:48000Hz AUDIO_SAMPLE_96000:96000Hz bitrate 否 Integer 音频码率(单位:Kbps) channels 是 String 声道数(有效值范围) AUDIO_CHANNELS_1:单声道 AUDIO_CHANNELS_2:双声道 AUDIO_CHANNELS_5_1:5.1声道 表7 CommonInfo 参数 是否必选 参数类型 描述 pvc 是 Boolean 高清低码开关 video_codec 是 String 视频编码格式 audio_codec 否 String 音频编码格式 AAC:AAC格式 (default) HEAAC1:HEAAC1格式 HEAAC2:HEAAC2格式 MP3:MP3格式 is_black_cut 否 Boolean 黑边剪裁类型,默认false不开启黑边剪裁 format 是 String 格式 hls_interval 是 Integer 分片时长,范围2-10(默认为5秒) upsample 否 Boolean 开启后可以提升视频的分辨率,增加采样点的数量。 adaptation 否 String 转码后的片源分辨率自适应方式。 取值如下: SHORT:短边自适应。转码模板的宽和高都设置,用其中的短边与片源短边对比,然后片源长边按此比例进行缩放。 LONG:长边自适应。转码模板的宽和高都设置,用其中的长边与片源长边对比,然后片源短边按此比例进行缩放。 NONE:按设置宽高适应,为默认值。按照转码模板设置的宽高输出。 说明: V1接口(已废弃)不支持设置该参数,默认按SHORT处理。V2接口默认按NONE处理,V1和V2接口默认值有差异,在调用时需要注意该参数值的设置。 控制台是通过V2接口创建的转码模板,实际与V1接口创建转码模板的默认值保值一致,为SHORT。 preset 否 Integer 编码质量等级,取值[0,2] 0表示默认方式,1表示转码效率优先,2表示转码质量优先。 max_iframes_interval 否 Integer I帧最大间隔,取值范围:[2,10]。默认值:5,单位秒。 hls_audio_separate 否 Boolean 转码后音频是否独立存储。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必填。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必填,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必填,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必填,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 domain 是 String 推流 域名 app_name 是 String 应用名称 trans_type 否 String 转码流触发模式。 play:拉流触发转码。 publish:推流触发转码。 默认为play quality_info 是 Array of QualityInfo objects 视频质量信息 表4 QualityInfo 参数 是否必选 参数类型 描述 quality 是 String 包含如下取值: lud:超高清,系统缺省名称。 lhd:高清,系统缺省名称。 lsd:标清,系统缺省名称。 lld:流畅,系统缺省名称。 userdefine:视频质量自定义。填写userdefine时,templateName字段不能为空。 templateName 否 String 自定义模板名称。 若需要自定义模板名称,请将quality参数设置为userdefine。 多个自定义模板名称之间不能重复。 自定义模板名称不能与其他模板的quality参数重复。 若quality不为userdefine,请勿填写此字段。 PVC 否 String 是否使用窄带高清转码。 注意:该字段已不再维护,建议使用hdlb。 包含如下取值: off:不启用。 on:启用。 默认值:off。 hdlb 否 String 是否启用高清低码,较PVC相比画质增强。 提示:使用hdlb字段开启高清低码时,PVC字段不生效。 包含如下取值: off:不开启高清低码。 on:开启高清低码。 默认值:off。 codec 否 String 视频编码格式。 包含如下取值: H264:使用H.264。 H265:使用H.265。 默认为H264。 width 否 Integer 视频的长边。其中,横屏为宽,即长边,竖屏为高。单位:像素。 包含如下取值: codec的取值为H264时,width建议取值范围为[32,3840],且必须为2整数倍。 codec的取值为H265时,width建议取值范围为[320,3840],且必须为2的整数倍。 注意:width和height全为0时,输出的分辨率和源保持一致;width和height只有一个为0时,输出的分辨率按非0项的比例进行缩放。 默认值:0。 height 否 Integer 视频的短边。其中,横屏为宽,竖屏为高,即短边。单位:像素。 包含如下取值: codec的取值为H264时,height建议取值范围为[32,2160],且必须为2的整数倍。 codec的取值为H265时,height建议取值范围为[240,2160],且必须为2的整数倍。 注意:width和height全为0时,输出的分辨率和源保持一致;width和height只有一个为0时,输出的分辨率按非0项的比例进行缩放。 默认值:0。 bitrate 是 Integer 转码视频的码率。 单位:Kbps 取值范围:40-30000。 video_frame_rate 否 Integer 转码视频帧率。 单位:fps 取值范围:0-60,0表示保持帧率不变。 默认值:0。 protocol 否 String 转码输出支持的协议类型。默认为RTMP。当前只支持RTMP。 包含如下取值: RTMP iFrameInterval 否 Integer 最大I帧间隔。 单位:帧数 取值范围:[0, 500],默认值:50。 注意:若希望通过iFrameInterval设置i帧间隔,请将gop设为0,或不传gop参数。 gop 否 Integer 按时间设置I帧间隔。 单位:秒 取值范围:[0,10],默认值:2。 注意:gop不为0时,则以gop设置i帧间隔,iFrameInterval字段不生效。 bitrate_adaptive 否 String 自适应码率参数。 包含如下取值: off:关闭码率自适应,目标码率按设定的码率输出。 minimum:目标码率按设定码率和源文件码率最小值输出(即码率不上扬)。 adaptive:目标码率按源文件码率自适应输出。 默认值:off。 i_frame_policy 否 String 编码输出I帧策略。 包含如下取值: auto:I帧按设置的gop时长输出。 strictSync:编码输出I帧完全和源保持一致(源是I帧则编码输出I帧,源不是I帧则编码非I帧),设置该参数后gop时长设置无效。 默认值:auto。 注意:多码率场景下建议开启I帧随源,保障多码率I帧对齐。
  • 请求示例 修改直播转码模板,应用名称为live,转码质量为SD,转码编码格式为H264,宽为1920像素,高为1080像素。 PUT https://{endpoint}/v1/{project_id}/template/transcodings { "domain" : "play.example.com", "app_name" : "live", "quality_info" : [ { "quality" : "lsd", "hdlb" : "off", "codec" : "H264", "width" : 1920, "height" : 1080, "bitrate" : 4500, "video_frame_rate" : 20, "gop" : 4 }, { "quality" : "userdefine", "templateName" : "yourTemplateName", "hdlb" : "off", "codec" : "H264", "width" : 1920, "height" : 1080, "bitrate" : 4500, "video_frame_rate" : 20, "gop" : 4 } ] }
  • 请求示例 POST https://{endpoint}/v2/{project_id}/asset/template/transcodings{ "name" : "trans_template_test", "is_default" : true, "is_auto_encrypt" : false, "quality_info_list" : [ { "video" : { "width" : 1280, "height" : 720, "bitrate" : 1000, "quality" : "HD", "frame_rate" : 0 }, "audio" : { "sample_rate" : "AUDIO_SAMPLE_AUTO", "channels" : "AUDIO_CHANNELS_1", "bitrate" : 0 } } ], "watermark_template_ids" : [ ], "common" : { "pvc" : false, "video_codec" : "H264", "audio_codec" : "AAC", "format" : "HLS", "hls_interval" : 5 }}