视频处理

更新时间: 2022/06/14 11:00:01

视频处理模块主要展示视频转码相关的API调用和代码示例。包含转码模板的管理、水印模板的管理、视频转码及回调信息等。

视频转码

创建视频转码模板

接口描述

域名:vcloud.163.com

接口名:/app/vod/preset/create

用于视频文件转码,创建模板。可使用云信的默认格式模板或自定义格式参数。

输入参数

参数 类型 必须 说明
presetName String 视频转码模板的名称
sdMp4 Int 流畅Mp4格式(1表示选择,0表示不选择)
hdMp4 Int 标清Mp4格式(1表示选择,0表示不选择)
shdMp4 Int 高清Mp4格式(1表示选择,0表示不选择)
uhdMp4 Int 超清Mp4格式(1表示选择,0表示不选择)
copyMp4 Int 使用copy模式转码成Mp4格式(1表示选择,0表示不选择)
sdFlv Int 流畅Flv格式(1表示选择,0表示不选择)
hdFlv Int 标清Flv格式(1表示选择,0表示不选择)
shdFlv Int 高清Flv格式(1表示选择,0表示不选择)
uhdFlv Int 超清Flv格式(1表示选择,0表示不选择)
copyFlv Int 使用copy模式转码成Flv格式(1表示选择,0表示不选择)
sdHls Int 流畅Hls格式(1表示选择,0表示不选择)
hdHls Int 标清Hls格式(1表示选择,0表示不选择)
shdHls Int 高清Hls格式(1表示选择,0表示不选择)
uhdHls Int 超清Hls格式(1表示选择,0表示不选择)
copyHls Int 使用copy模式转码成Hls格式(1表示选择,0表示不选择)
aacAudio Int aac音频格式(1表示选择,0表示不选择)
mp3Audio Int mp3音频格式(1表示选择,0表示不选择)
adaptHls Int 自适应Hls格式(1表示选择,0表示不选择); 目前固定转码规格(240P、480P、720P)且不支持自定义设置模板(transConfig参数)
transConfig List 自定义模板信息,不设置为系统默认转码信息

流畅:360P;标清:540P;高清:720P;超清:1080P

transConfig参数详细说明

参数 类型 必须 说明
presetType Int 自定义模板格式:1表示sdMp4,2表示hdMp4,3表示shdMp4,4表示sdFlv,5表示hdFlv,6表示shdFlv,7表示sdHls,8表示hdHls,9表示shdHls,13表示uhdMp4,14表示uhdFlv,15表示uhdHls,16表示aac,17表示mp3, 19表示adaptHls
video String 视频流配置,JSON对象,见参数video详情,若不设置表示转码为纯音频格式,对应presetType为16或17
audio String 音频流配置,JSON对象,见参数audio详情
segmentTime Int hls格式的分片时长,取值范围:1-60,presetType为7、8、9时有效
textMarks List 文字水印配置信息列表,JSON对象,见参数textMarks详情

参数video详情

参数 类型 必须 说明
codec String 输出文件的视频编解码格式,包含:libx264、lib265、libne264、libne265,默认是libx264。其中lib265仅支持mp4和hls格式,libne264、libne265代表智码超清
bitRate String 输出文件的视频码率,单位为bps。可设置值为auto或大于0的整数,默认是auto。auto表示跟随源视频码率
frameRate String 输出文件的视频帧率,单位fps。可设置值为:auto、大于0,默认值为auto,auto表示跟随源视频帧率
maxWidth String 输出文件的视频宽度,单位px。可设置值为:auto、0、[128,4096],默认值为auto,auto表示跟随源视频宽度,0表示保持视频宽高比的前提下,缩放视频使得视频高度等于maxHeight,注:此情况下,paddingPolicy必需是NoPad,maxHeight不能为0
maxHeight String 输出文件的视频高度,可设置值为:auto、0、[128,4096],默认值为auto,auto表示跟随源视频高度,0表示保持视频宽高比的前提下,缩放视频使得视频宽度等于maxWidth,注:此情况下,paddingPolicy必需是NoPad,maxWidth不能为0
paddingPolicy String 输出文件的缩放策略,输出视频若不能覆盖maxWidth*maxHeight区域,是否通过填补黑边将视频扩充到目标大小。可设置值为:NoPad、Pad,NoPad表示不填补黑边,Pad表示填补黑边
resolutionAdaptive Int 是否开启分辨率自适应,1为开启,0为不开启,默认不开启;开启时,maxWidth 代表视频的长边,maxHeight 表示视频的短边;关闭时,maxWidth 代表视频的宽度,maxHeight 表示视频的高度

参数audio详情

参数 类型 必须 说明
removeAudio Boolean true表示转码去除音频,空或者false表示保留音频
codec String 输出文件的音频编解码格式,包含:aac、mp3,默认是aac
bitRate String 输出文件的音频码率,单位为bps。可设置值为:32000、64000、92000、128000、192000、256000、auto,默认是auto。auto表示跟随源音频码率
sampleRate String 输出文件的音频采样率,单位为Hz。可设置值为:8000、11025、22050、32000、44100、48000、96000、auto,默认值是auto,auto表示跟随源音频采样率。注:若视频容器格式为flv,音频编解码格式选择为mp3时,采样率只能设置为44100或22050或11025
channel String 输出文件的音频声道数,可设置值为:1、2、auto。默认值是auto,auto表示跟随源音频声道数
loudnormSwitch Int 是否音量规格化:1表示需要,0表示不需要;默认值为0
loudnormI Float 音频整体响度. 取值范围 [-70.0, -5.0]. loudnormSwitch为1时有效且必传
loudnormLRA Float 音频响度范围. 取值范围 [1.0, 20.0]. loudnormSwitch为1时有效且必传
loudnormTP Float 音频真实峰值. 取值范围 [-9.0, 0.0]. loudnormSwitch为1时有效且必传
minInputLoudnormI Float 当源视频loudnormI小于该值时,不做音量规格化,防止噪声被放大. loudnormSwitch为1时有效

参数textMarks详情

参数 类型 必须 说明
content String 文字内容
fontName String 字体名字,目前支持:
(1) pingfang_bold (2) pingfang_light (3) pingfang_medium (4) pingfang_regular
fontSize Int 字体大小,单位px,默认值是24
fontColor String 文字颜色,取值#000000~#FFFFFF,默认值是#FFFFFF
fontOpacity Float 文字透明度,取值范围0.0~1.0,0.0透明,1.0不透明,默认值是1.0
coordinate String 相对于视频左上角的位置,支持两种格式:
(1)相对于左上角的绝对位置(单位px):如5_5
(2)相对于左上角的相对位置:如5%_5%
默认值是5%_5%
shadowX Int 文字阴影x轴偏移量,单位px,默认是0
shadowY Int 文字阴影y轴偏移量,单位px,默认是0
borderWidth Int 文字边框宽度,单位px,默认是0
borderColor String 文字边框颜色,取值#000000~#FFFFFF,默认值是#FFFFFF
borderOpacity Double 文字边框透明度,取值范围0.0~1.0,0.0透明,1.0不透明,默认值是1.0

输出参数

参数 类型 说明
code Int 状态码
presetId Int 新生成的视频转码模板Id
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

使用云信默认的格式模板请求示例

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d'{"presetName":"全高清","sdMp4":0,"hdMp4":1,"shdMp4":0,"sdFlv":0,"hdFlv":1,"shdFlv":0,"sdHls":0,"hdHls":1,"shdHls":0}' https://vcloud.163.com/app/vod/preset/create

返回示例

	{
	  "ret": {
	    "presetId": 184
	  },
	  "code": 200
	}

使用自定义的格式参数请求示例

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d'{"presetName":"自定义流畅转码模板","sdMp4":1,"hdMp4":0,"shdMp4":0,"sdFlv":0,"hdFlv":0,"shdFlv":0,"sdHls":0,"hdHls":0,"shdHls":0,"transConfig":[{"presetType":1,"video":{"codec":"libx264","maxWidth":"640","MaxHeight":"0","bitRate":"600000","paddingPolicy":"NoPad"},"audio":{"codec":"aac","sampleRate":"44100","channel":"auto","bitRate":"128000"},"textMarks":[{"content":"网易云信","fontName":"pingfang_bold","fontSize":24,"fontColor":"#FFFFFF","fontOpacity":1.0,"coordinate":"5%_5%","shadowX":0,"shadowY":0,"borderWidth":1,"borderColor":"#000000","borderOpacity":1.0}]}]}' https://vcloud.163.com/app/vod/preset/create

返回示例

	{
	  "ret": {
	    "presetId": 185
	  },
	  "code": 200
	}

修改视频转码模板

接口描述

域名:vcloud.163.com

接口名:/app/vod/preset/update

用于视频文件转码,修改转码模板,可修改:视频转码模板名称、视频转码模板对应的格式。

输入参数

参数 类型 必须 说明
presetId Int 视频转码模板的Id
presetName String 视频转码模板的名称
sdMp4 Int 流畅Mp4格式(1表示选择,0表示不选择)
hdMp4 Int 标清Mp4格式(1表示选择,0表示不选择)
shdMp4 Int 高清Mp4格式(1表示选择,0表示不选择)
sdFlv Int 流畅Flv格式(1表示选择,0表示不选择)
hdFlv Int 标清Flv格式(1表示选择,0表示不选择)
shdFlv Int 高清Flv格式(1表示选择,0表示不选择)
sdHls Int 流畅Hls格式(1表示选择,0表示不选择)
hdHls Int 标清Hls格式(1表示选择,0表示不选择)
shdHls Int 高清Hls格式(1表示选择,0表示不选择)
aacAudio Int aac音频格式(1表示选择,0表示不选择)
mp3Audio Int mp3音频格式(1表示选择,0表示不选择)
adaptHls Int 自适应Hls格式(1表示选择,0表示不选择); 目前固定转码规格(240P、480P、720P)且不支持自定义设置模板(transConfig参数)
transConfig List 自定义模板信息,JSON对象,不设置为系统默认转码信息

输出参数

参数 类型 说明
code Int 状态码
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"presetId":184,"presetName":"全转码","sdMp4":1,"hdMp4":1,"shdMp4":1,"sdFlv":1,"hdFlv":1,"shdFlv":1,"sdHls":1,"hdHls":1,"shdHls":1}' https://vcloud.163.com/app/vod/preset/update

返回示例

	{
	  "ret": {},
	  "code": 200
	}

删除视频转码模板

接口描述

域名:vcloud.163.com

接口名:/app/vod/preset/presetDelete

删除视频转码模板。

输入参数

参数 类型 必须 说明
presetId Int 视频转码模板Id

输出参数

参数 类型 说明
code Int 状态码
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"presetId":184}' https://vcloud.163.com/app/vod/preset/presetDelete

返回示例

	{
	  "ret": {},
	  "code": 200
	}

查询视频转码模板信息

接口描述

域名:vcloud.163.com

接口名:/app/vod/preset/get

获取单个视频转码模板信息,包括:Id、视频转码模板名称、视频转码模板对应的格式。

输入参数

参数 类型 必须 说明
presetId Int 视频转码模板Id

输出参数

参数 类型 说明
code Int 状态码
presetName String 视频转码模板的名称
sdMp4 Int 流畅Mp4格式(1表示包含,0表示不包含)
hdMp4 Int 标清Mp4格式(1表示包含,0表示不包含)
shdMp4 Int 高清Mp4格式(1表示包含,0表示不包含)
sdFlv Int 流畅Flv格式(1表示包含,0表示不包含)
hdFlv Int 标清Flv格式(1表示包含,0表示不包含)
shdFlv Int 高清Flv格式(1表示包含,0表示不包含)
sdHls Int 流畅Hls格式(1表示包含,0表示不包含)
hdHls Int 标清Hls格式(1表示包含,0表示不包含)
shdHls Int 高清Hls格式(1表示包含,0表示不包含)
aacAudio Int aac音频格式(1表示选择,0表示不选择)
mp3Audio Int mp3音频格式(1表示选择,0表示不选择)
adaptHls Int 自适应Hls格式(1表示选择,0表示不选择)
isDel Int 是否允许被删除(默认模板不允许删除),1:允许,0:不允许
transConfig List 自定义模板信息,JSON对象,如果模板为自定义,则包含此元素
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"presetId":184}' https://vcloud.163.com/app/vod/preset/get

返回示例

	{
	  "ret": {
	    "sdHls": 0,
	    "isDel": 1,
	    "shdHls": 0,
	    "hdHls": 1,
	    "presetId": 184,
	    "sdMp4": 0,
	    "sdFlv": 0,
	    "shdMp4": 0,
	    "shdFlv": 0,
	    "presetName": "全高清",
	    "hdFlv": 1,
	    "hdMp4": 1
	  },
	  "code": 200
	}

查询视频转码模板列表

接口描述

域名:vcloud.163.com

接口名:/app/vod/preset/list

获取视频转码模板列表,并做分页返回处理。单个视频转码模板的信息包括:Id、视频转码模板名称、视频转码模板对应的格式。

输入参数

参数 类型 必须 说明
currentPage Int 获取视频转码模板列表分页后的索引
pageSize Int 获取视频转码模板列表一页的记录数,取值范围:[1,500]

输出参数

参数 类型 说明
code Int 状态码
currentPage Int 当前取得页数
pageSize Int 一页的记录数目
pageNum Int 总页数
totalRecords Int 获取视频转码模板列表的数目
list List 获取的视频转码模板列表
list.presetId Int 视频转码模板Id
list.presetName String 视频转码模板的名称
list.sdMp4 Int 流畅Mp4格式(1表示包含,0表示不包含)
list.hdMp4 Int 标清Mp4格式(1表示包含,0表示不包含)
list.shdMp4 Int 高清Mp4格式(1表示包含,0表示不包含)
list.sdFlv Int 流畅Flv格式(1表示包含,0表示不包含)
list.hdFlv Int 标清Flv格式(1表示包含,0表示不包含)
list.shdFlv Int 高清Flv格式(1表示包含,0表示不包含)
list.sdHls Int 流畅Hls格式(1表示包含,0表示不包含)
list.hdHls Int 标清Hls格式(1表示包含,0表示不包含)
list.shdHls Int 高清Hls格式(1表示包含,0表示不包含)
list.aacAudio Int aac音频格式(1表示选择,0表示不选择)
list.mp3Audio Int mp3音频格式(1表示选择,0表示不选择)
list.adaptHls Int 自适应Hls格式(1表示选择,0表示不选择)
list.isDel Int 是否允许被删除(默认模板不允许删除),1:允许,0:不允许
list.transConfig List 自定义模板信息,JSON对象,如果模板为自定义,则包含此元素

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"currentPage":1,"pageSize":2}' https://vcloud.163.com/app/vod/preset/list

返回示例

	{
	  "ret": {
	    "pageSize": 2,
	    "totalRecords": 8,
	    "list": [
	      {
	        "sdHls": 0,
	        "isDel": 0,
	        "shdHls": 0,
	        "hdHls": 0,
	        "presetId": 39,
	        "sdMp4": 0,
	        "sdFlv": 0,
	        "shdMp4": 0,
	        "shdFlv": 0,
	        "presetName": "默认模板",
	        "hdFlv": 0,
	        "hdMp4": 0
	      },
	      {
	        "sdHls": 0,
	        "isDel": 1,
	        "shdHls": 0,
	        "hdHls": 0,
	        "presetId": 40,
	        "sdMp4": 1,
	        "sdFlv": 1,
	        "shdMp4": 0,
	        "shdFlv": 0,
	        "presetName": "dd",
	        "hdFlv": 0,
	        "hdMp4": 0
	      }
	    ],
	    "currentPage": 1,
	    "pageNum": 4
	  },
	  "code": 200
	}

视频文件转码

接口描述

域名:vcloud.163.com

接口名:/app/vod/transcode/resetmulti

用于视频转码,批量进行视频转码(只有处于正常或转码失败状态的视频才允许执行此操作)。

输入参数

参数 类型 必须 说明
vids List 多个视频Id组成的列表
presetId Int 转码模板Id
watermarkId Int 视频水印Id(不填写为不添加水印,且若填写,presetId值不能为默认模板)
userDefInfo String 用户自定义信息,回调会返回此信息
transOffset Int 视频转码处理裁剪视频的起始位置(单位:秒)
transDuration Int 视频转码处理裁剪视频的视频时长(单位:秒)
callbackUrl String 视频转码结果回调处理(覆盖全局的回调地址配置,不设置默认使用全局设置的地址)
dynamicTransConfig List 视频动态转码详细参数配置列表,不设置则以presetId的配置为准,设置则会覆盖presetId对应的transConfig中相同presetType的配置。详见参数dynamicTransConfig

参数dynamicTransConfig详情

参数 类型 必须 说明
presetType Int 自定义模板格式:1表示sdMp4,2表示hdMp4,3表示shdMp4,4表示sdFlv,5表示hdFlv,6表示shdFlv,7表示sdHls,8表示hdHls,9表示shdHls,16表示aac,17表示mp3, 19表示adaptHls
textMarks List 文字水印配置信息列表,JSON对象,详见本文4.1.2小节参数textMarks

输出参数

参数 类型 说明
code Int 状态码
successCount Int 转码成功的数量
failCount Int 转码失败的数量
passCount Int 转码忽略的数量,即已经存在该转码格式视频
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
720 访问失败,余额不足。
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"vids":[29,30],"presetId":174,"watermarkId":23,"dynamicTransConfig":[{"presetType":1,"textMarks":[{"content":"网易云信","fontName":"pingfang_bold","fontSize":24,"fontColor":"#FFFFFF","fontOpacity":1.0,"coordinate":"5%_5%","shadowX":0,"shadowY":0,"borderWidth":1,"borderColor":"#000000","borderOpacity":1.0}]}]}' https://vcloud.163.com/app/vod/transcode/resetmulti

返回示例

{
  "ret": {
    "passCount": 0,
    "failCount": 0,
    "successCount": 2
  },
  "code": 200
}

结果回调

转码是异步处理任务,可以设置相关回调,回调设置请参见设置回调地址

转码成功回调内容示例

	{"sdFlvAddr":"http://vodk32ywxdf.vod.126.net/vodk32ywxdf/flv/rDM5V7HM_1021_sd.flv","name":"snow.mp4","type":"transcode","vid":1021,"user_defined":"userId=123456"}

请以实际收到的body字段为准,以下仅为body字段示例。

参数 类型 说明
type String 回调类型,转码回调固定为“transcode”
vid Long 视频文件标识
name String 视频文件名称
sdMp4Addr String 流畅mp4视频的播放地址
hdMp4Addr String 标清mp4视频的播放地址
shdMp4Addr String 高清mp4视频的播放地址
sdFlvAddr String 流畅flv视频的播放地址
hdFlvAddr String 标清flv视频的播放地址
shdFlvAddr String 高清flv视频的播放地址
sdHlsAddr String 流畅hls视频的播放地址
hdHlsAddr String 标清hls视频的播放地址
shdHlsAddr String 高清hls视频的播放地址
adaptHlsAddr String 自适应码率hls视频的播放地址
user_defined String 用户自定义字段值(转码时设置的值)

转码失败回调内容示例

	{"error":{"msg":"Failed","type":"transcode","vid":1021,"user_defined":"userId=123456","name":"snow.mp4"}}

请以实际收到的body字段为准,以下仅为body字段示例。

参数 类型 说明
type String 回调类型,转码回调固定为 “transcode”
vid Long 视频文件标识
name String 视频文件名称
msg String 转码失败原因
user_defined String 用户自定义字段值(转码时设置的值)

视频水印

创建视频水印模板

接口描述

域名:vcloud.163.com

接口名:/app/vod/watermark/create

用于视频文件管理水印,增加水印模板。

输入参数

参数 类型 必须 说明
watermarkName String 视频水印的名称
imageId Int 视频水印图片的Id
description String 视频水印的描述信息
benchmark String 水印相对于视频的基准点,取值:leftTop(默认)、rightTop、leftBottom、rightBottom
coordinate String 视频水印左上角的坐标,其值为相对值,比如:
8%_6%表示在视频左上角的偏右8%视频宽度、偏下6%视频高度的位置。
如果不选填,默认设置为5%_5%
scale String 视频水印的长宽,其值为相对值,比如:
10%x15%表示宽为视频宽度的10%,高为视频高度的15%。
如果不选填,默认设置为不缩放或拉伸不建议设置水印的scale参数,缩放或拉伸水印图片会影响水印图片的效果,可能会出现模糊现象。
timeGap Int 动态水印切换间隔时间(单位秒),不传则无动态水印效果
moveStyle Int 设置动态水印效果:1四个角间隔周期随机显示; 2 斜对角交替显示; 3 垂直对角交替显示; 4 水平对角交替显示,(位置会基于coordinate自动计算)

输出参数

参数 类型 说明
code Int 状态码
watermarkId Int 视频水印Id
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d'{"watermarkName":"梅花水印","imageId":1,"description":"梅花水印","coordinate":"8%_6%"}' https://vcloud.163.com/app/vod/watermark/create

返回示例

	{
	  "ret": {
	    "watermarkId": 16
	  },
	  "code": 200
	}

修改视频水印模板

接口描述

域名:vcloud.163.com

接口名:/app/vod/watermark/update

用于修改水印模板,可修改:视频转码模板名称、视频转码模板对应的格式。

输入参数

参数 类型 必须 说明
watermarkId Int 视频水印模板Id
watermarkName String 视频水印的名称
description String 视频水印的描述信息
coordinate String 视频水印左上角的坐标,其值为相对值,比如:
8%_6%表示在视频左上角的偏右8%视频宽度、偏下6%视频高度的位置。
如果不选填,默认设置为5%_5%
scale String 视频水印的长宽,其值为相对值,比如:
10%x15%表示长为视频宽度的10%,宽为视频宽度的15%。
如果不选填,默认设置为不缩放或拉伸
imageId Int 水印图片Id
benchmark String 水印相对于视频的基准点,取值:leftTop(默认)、rightTop、leftBottom、rightBottom
timeGap Int 动态水印切换间隔时间(单位秒),不传则无动态水印效果
moveStyle Int 设置动态水印效果:1四个角间隔周期随机显示; 2 斜对角交替显示; 3 垂直对角交替显示; 4 水平对角交替显示,(位置会基于coordinate自动计算)

输出参数

参数 类型 说明
code Int 状态码
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST-H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"watermarkId":6,"watermarkName":"haha","coordinate":"20%_20%"}' https://vcloud.163.com/app/vod/watermark/update

返回示例

	{
	  "ret": {},
	  "code": 200
	}

删除视频水印模板

接口描述

域名:vcloud.163.com

接口名:/app/vod/watermark/delete

删除水印模板。

输入参数

参数 类型 必须 说明
watermarkId Int 视频水印模板Id

输出参数

参数 类型 说明
code Int 状态码
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"watermarkId":6}' https://vcloud.163.com/app/vod/watermark/delete

返回示例

	{
	  "ret": {},
	  "code": 200
	}

查询视频水印模板信息

接口描述

域名:vcloud.163.com

接口名:/app/vod/watermark/get

获取单个视频水印模板信息,包括:Id、视频水印模板名称、视频水印模板对应的配置参数。

输入参数

参数 类型 必须 说明
watermarkId Int 视频水印模板Id

输出参数

参数 类型 说明
code Int 状态码
watermarkId Int 视频水印模板Id
watermarkName String 视频水印模板的名称
description String 视频水印的描述信息
coordinate String 视频水印左上角的坐标,其值为相对值,比如:
8%_6%表示在视频左上角的偏右8%视频宽度、偏下6%视频高度的位置。
如果不选填,默认设置为5%_5%
scale String 视频水印的长宽,其值为相对值,比如:
10%x15%表示长为视频宽度的10%,宽为视频宽度的15%。
如果不选填,默认设置为不缩放或拉伸
imageId Int 水印图片Id
imageUrl String 水印图片URL
benchmark String 水印相对于视频的基准点
timeGap Int 动态水印切换间隔时间(单位秒)
moveStyle Int 动态水印效果
isDel Int 是否允许被删除(默认水印不允许删除),1:允许,0:不允许
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"watermarkId":16}' https://vcloud.163.com/app/vod/watermark/get

返回示例

	{
	  "ret": {
	    "scale": null,
	    "watermarkName": "梅花水印",
	    "coordinate": "8%_6%",
	    "description": "梅花水印",
	    "watermarkId": 16,
	    "imageId": 21,
	    "imageUrl": "http://vodk32ywxdf.nosdn.127.net/fda0bee8-6b96-45e4-9455-0490f84acc8a.jpg",
	    "isDel": 1
	  },
	  "code": 200
	}

查询视频水印模板列表

接口描述

域名:vcloud.163.com

接口名:/app/vod/watermark/list

获取视频水印模板列表,并做分页返回处理。单个视频水印模板的信息包括:Id、视频水印模板名称、视频水印模板对应的配置参数。

输入参数

参数 类型 必须 说明
currentPage Int 获取视频水印模板列表分页后的索引
pageSize Int 获取视频水印模板列表一页的记录数,取值范围:[1,500]

输出参数

参数 类型 说明
code Int 状态码
currentPage Int 当前取得页数
pageSize Int 一页的记录数目
pageNum Int 总页数
totalRecords Int 获取视频水印转码模板列表的分类数目
list List 获取的视频水印模板列表
list.watermarkId Int 视频水印模板Id
list.watermarkName String 视频水印模板的名称
list.description String 视频水印的描述信息
list.coordinate String 视频水印左上角的坐标,其值为相对值,比如:
8%_6%表示在视频左上角的偏右8%视频宽度、偏下6%视频高度的位置。
如果不选填,默认设置为5%_5%
list.scale String 视频水印的长宽,其值为相对值,比如:
10%x15%表示长为视频宽度的10%,宽为视频宽度的15%。
如果不选填,默认设置为不缩放或拉伸
list.imageId Int 水印图片Id
list.imageUrl String 水印图片URL
list.benchmark String 水印相对于视频的基准点
list.timeGap Int 动态水印切换间隔时间(单位秒)
list.moveStyle Int 动态水印效果
list.isDel Int 是否允许被删除(默认水印不允许删除),1:允许,0:不允许

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
711 请求参数非法,具体信息见msg
720 访问失败,余额不足
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"currentPage":1,"pageSize":2}' https://vcloud.163.com/app/vod/watermark/list

返回示例

	{
	  "ret": {
	    "pageSize": 2,
	    "totalRecords": 9,
	    "list": [
	      {
	        "scale": "10%x15%",
	        "watermarkName": "小熊水印",
	        "coordinate": "20%_12%",
	        "description": "ss",
	        "watermarkId": 6,
	        "imageId": 21,
	    	"imageUrl": "http://vodk32ywxdf.nosdn.127.net/fda0bee8-6b96-45e4-9455-0490f84acc8a.jpg",
	    	"isDel": 1
	      },
	      {
	        "scale": "10%x15%",
	        "watermarkName": "royen_test",
	        "coordinate": "5%_5%",
	        "description": null,
	        "watermarkId": 7,
	        "imageId": 21,
	    	"imageUrl": "http://vodk32ywxdf.nosdn.127.net/fda0bee8-6b96-45e4-9455-0490f84acc8a.jpg",
	    	"isDel": 1
	      }
	    ],
	    "currentPage": 1,
	    "pageNum": 5
	  },
	  "code": 200
	}

视频截图

生成视频截图

接口描述

域名:vcloud.163.com

接口名:/app/vod/snapshot/create

针对具体文件,获取其不同尺寸下的截图URL地址。支持截图的文件格式:
mpegts、mov、mp4、m4a、3gp、3g2、mj2、rm、asf、flv、avi、matroska、
webm、mpeg、mpeg、mpegtsraw、mpegvideo、mtv、mv、mvi、nuv、3gp、
avs、avsvideo、adxl、dv、dvd、flic、flac、h261、h263、h264、hls、m4v、
mjpeg、rawvideo、rpl、avcd、truehd、vc-1、vcd。
如有不支持格式视频,请进行转码,接口会根据转码后的视频截取图片。

截取图片比例如果和视频尺寸比例不相符合,会自动填充黑边,保证图片显示正常。

输入参数

参数 类型 必须 说明
vid Long 视频Id
size Int customWidth和customHeight未设置时必填。截图尺寸,包含以下几种值:
0表示原始视频比例,1表示640x360,2表示400x300,3表示320x180,
4表示200x150,5表示1280x720,6表示960x720,7表示360x640,
8表示300x400,9表示180x320,10表示150x200,11表示720x1280,
12表示720x960,13表示180x180,14表示360x360,15表示720x720
offset Int 截图偏移,包含以下几种值:
0表示视频第一秒,1表示时间轴10%位置,2表示时间轴20%位置,
3表示时间轴30%位置,4表示时间轴40%位置,5表示时间轴50%位置,
6表示时间轴60%位置,7表示时间轴70%位置,8表示时间轴80%位置,
9表示时间轴90%位置
customWidth Int 自定义截图宽度,可设置值为(0,4000],必须为偶数
customHeight Int 自定义截图高度,可设置值为(0,4000],必须为偶数
customOffset Long 自定义截图时间戳,单位毫秒
style Int 视频转码格式(0表示源视频,1表示流畅mp4,2表示标清mp4,3表示高清mp4, 4表示流畅flv,5表示标清flv,6表示高清flv, 7表示流畅hls,8表示标清hls,9表示高清hls) 如果设置了style,则会根据指定格式的视频进行截图
  • 如需自定义截图宽高信息,customWidth和customHeight需同时不为空。
  • 如果offset和customOffset都填写,以customOffset为准。如果offset和customOffset都不填写,默认offset=0。

输出参数

参数 类型 说明
code Int 状态码
url String 截图地址
width String 截图宽度
height String 截图高度
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
720 访问失败,余额不足。
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"vid":12,"size":1,"offset":0}' https://vcloud.163.com/app/vod/snapshot/create

返回示例

    "Content-Type": "application/json; charset=utf-8"
    {
    	"ret" : {
    		"url" : "http://vodk32ywxdf.nosdn.127.net/fsfs-gdgs-gdgd-gdgds_snapshot_0_640.jpg",
    		"width" : "640",
    		"height" : "320"
    	},
    	"code" : 200
    }

设置视频封面

接口描述

域名:vcloud.163.com

接口名:/app/vod/snapshot/set

为视频设置显示封面。

输入参数

参数 类型 必须 说明
vid Long 视频Id
type Int 封面设置方法:1表示使用截图URL,2表示使用本地上传图片
path String type值为1,则代表截图URL;type值为2,则代表本地图片路径
data String type值为2时,需填写,代表本地图片数据的base64编码字符串数据

**重要提示

使用截图URL设置视频封面的URL时,必需是存储在网易云信点播服务的URL,暂不支持第三方URL。

输出参数

参数 类型 说明
code Int 状态码
url String 截图地址
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
720 访问失败,余额不足。
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"vid":12,"type":1,"path":"http://vodk32ywxdf.nosdn.127.net/fsfs-gdgs-gdgd-gdgds_snapshot_0_640.jpg"}' https://vcloud.163.com/app/vod/snapshot/set

返回示例

    "Content-Type": "application/json; charset=utf-8"
    {
    	"ret" : {
    		"url" : "http://vodk32ywxdf.nosdn.127.net/fsfs-gdgs-gdgd-gdgds_snapshot_0_640.jpg"
    	},
    	"code" : 200
    }

生成视频动图

接口描述

域名:vcloud.163.com

接口名:/app/vod/video/videoPreview

为视频生成动图预览,包括:动图和视频。

输入参数

参数 类型 必须 说明
vid Long 视频的标识
format Int 生成的视频预览格式,1表示webp格式,2表示mp4格式,3表示flv格式,4表示hls格式,5表示gif格式
samplings List 采样的视频时间区间列表,包含一组sampling,
区间个数最多5个,单位为秒,区间时长小于等于3s区间,可以有重合,区间顺序有意义
callbackUrl String 处理完成后回调的URL地址(需标准http格式),如不设置,使用默认的转码回调地址
userDefInfo String 用户自定义信息,回调会返回此信息
keepAspectRatio Int 是否保持输出文件与原视频宽高比,0表示不保持,1表示保持,默认为1
outputWidth Int 输出文件的宽度,取值大于等于0且小于等于4096,默认为0
outputHeight Int 输出文件的高度,取值大于等于0且小于等于4096,默认为0
frameRate Int 输出帧率,取值不超过30且大于0,若等于0,则保持与原视频一致,默认为8
bitRate Int 比特率,取值大于0,不设置则保持和原视频相同
enableLoop Int webp格式的预览是否循环, 0表示不循环, 1表示循环,默认为0
paddingPolicy Int format为1或者5有效,对视频的填充设置;1表示高斯模糊
gaussianBlurSigma Float paddingPolicy为1时,设置高斯模糊度;大于0,默认25.0

sampling参数详细说明

参数 类型 必须 说明
start Int 采样的视频时间区间开始时间
end Int 采样的视频时间区间结束时间
  • 若outputWidth为0且outputHeight为0,则输出宽高均取原视频宽高。
  • 若outputWidth为0且outputHeight>0,则保持宽高比,无视keepAspectRatio参数,按照设置的高度值等比例计算宽度。
  • 若outputWidth>0且outputHeight为0,则保持宽高比,无视keepAspectRatio参数,按照设置的宽度值等比例计算高度。
  • 若outputWidth>0且outputHeight>0,且keepAspectRatio为0,则输出宽高按照参数设置;若keepAspectRatio为1,则宽不变,高通过计算得到。
  • 对于format格式为2、3、4的,samplings只允许一组值,表示视频截取开始时间和结束时间,如果有多组值,只取第一组,其余忽略。

输出参数

参数 类型 说明
code Int 状态码
url String 截图地址
msg String 错误信息

响应状态码

状态码 含义
200 操作成功
400 请求报文格式错误,报文构造不正确或者没有完整发送
700 服务器内部出现错误,请稍后重试或者将完整错误信息发送给客服人员帮忙解决
710 权限认证失败,请参考文档中的接口鉴权部分
720 访问失败,余额不足。
721 服务未开通,请前往开通页面申请服务开通
722 服务开通审核中,请联系客服人员开通服务
723 请求的次数超过了配额限制

示例代码

请求示例

    curl -X POST -H "Content-Type: application/json;charset=utf-8" -H "AppKey: 027338bf***af80b3" -H "Nonce: 1" -H "CurTime: 1465723418" -H "CheckSum: 61bbfd88c51028a***e13" -d '{"vid":32,"format":1,"samplings":[{"start":1,"end":3},{"start":4,"end":6},{"start":8,"end":9},{"start":12,"end":13},{"start":21,"end":23}],"userDefInfo":"userId=123456"}' https://vcloud.163.com/app/vod/video/preview

返回示例

    "Content-Type": "application/json; charset=utf-8"
    {
    	"requestId" : "e49fdc9a-d59d-480d-b3ef-c91b37f8f664",
    	"code" : 200,
    	"ret": {}
    }

结果回调

视频预览的生成为异步处理,处理完成回回调给请求参数设置的callbackUrl,如果未设置,回调给默认的转码地址。

生成预览图成功回调内容示例

	{
		"previewAddr" : "vodk32ywxdf.vod.126.net/vodk32ywxdf/abcsdf.mp4",
		"type" : "videoPreview",
		“originVid” : 32,
		"previewVid" : 1243,
		q"user_defined" : "userId=123456"
	}

请以实际收到的body字段为准,以下仅为body字段示例。

参数 类型 说明
type String 回调类型,预览图生成回调固定为“videoPreview”
originVid Long 原始视频文件视频标识
previewVid String 生成的预览视频标识
previewAddr String 生成视频预览访问地址
user_defined String 用户自定义字段值

生成预览图失败回调内容示例

	{
		"error" : {
			"msg" : "Failed",
			"type" : "videoPreview",
			"originVid" : 32,
			"user_defined" : "userId=123456"
		}
	}

请以实际收到的body字段为准,以下仅为body字段示例。

参数 类型 说明
type String 回调类型,预览图生成回调固定为“preview”
originVid Long 原始视频文件视频标识
msg String 转码失败原因
user_defined String 用户自定义字段值
此文档是否对你有帮助?
有帮助
去反馈
  • 视频转码
  • 创建视频转码模板
  • 接口描述
  • 输入参数
  • transConfig参数详细说明
  • 参数video详情
  • 参数audio详情
  • 参数textMarks详情
  • 输出参数
  • 响应状态码
  • 示例代码
  • 使用云信默认的格式模板请求示例
  • 使用自定义的格式参数请求示例
  • 修改视频转码模板
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 删除视频转码模板
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 查询视频转码模板信息
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 查询视频转码模板列表
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 视频文件转码
  • 接口描述
  • 输入参数
  • 参数dynamicTransConfig详情
  • 输出参数
  • 响应状态码
  • 示例代码
  • 结果回调
  • 转码成功回调内容示例
  • 转码失败回调内容示例
  • 视频水印
  • 创建视频水印模板
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 修改视频水印模板
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 删除视频水印模板
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 查询视频水印模板信息
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 查询视频水印模板列表
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 视频截图
  • 生成视频截图
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 设置视频封面
  • 接口描述
  • 输入参数
  • 输出参数
  • 响应状态码
  • 示例代码
  • 生成视频动图
  • 接口描述
  • 输入参数
  • sampling参数详细说明
  • 输出参数
  • 响应状态码
  • 示例代码
  • 结果回调
  • 生成预览图成功回调内容示例
  • 生成预览图失败回调内容示例