本文为您介绍视频截图完成事件、事件通知的内容和回调示例。
事件类型
SnapshotComplete
事件说明
视频截图完成后会产生SnapshotComplete事件。
截图和转码是并行处理,二者无法确定先后顺序。
如果是封面截图类型,并且没有设置视频封面(CoverUrl),则默认取截图的中间一张为视频封面。关于封面截图,更多信息,请参见视频截图。
您也可以通过获取视频信息接口,获取视频封面和CoverSnapshot类型的截图地址。
您还可以通过查询截图数据接口,获取指定视频最新一次截图的截图地址。
如果开启了URL鉴权,则需要自己生成auth_key才能访问图片地址,否则会返回HTTP 403。URL鉴权的信息,请参见URL鉴权。
事件内容
参数名称 | 类型 | 必备项 | 描述 |
EventTime | String | 是 | 事件产生时间,为UTC时间:yyyy-MM-ddTHH:mm:ssZ。 |
EventType | String | 是 | 事件类型,系统规定参数。固定为:SnapshotComplete。 |
VideoId | String | 是 | 视频ID。 |
Status | String | 是 | 视频截图状态。
|
SubType | String | 否 | 截图子类型。取值:SpecifiedTime。 说明 SubType=SpecifiedTime,表示通过提交媒体截图作业接口发起的截图。 |
ErrorCode | String | 否 | 作业错误码,视频截图失败时,会有该字段。 |
ErrorMessage | String | 否 | 作业错误信息,视频截图失败时,会有该字段。 |
CoverUrl | String | 否 | 封面图片地址。视频截图失败时,不会有该字段。 |
SnapshotInfos | SnapshotInfo[] | 否 | 截图列表。视频截图失败时,不会有该字段,具体结构请参见下文SnapshotInfos 截图数据。 |
Extend | String | 否 | 用户自定义回调透传数据。更多信息,请参见媒体上传自定义设置 UserData。 |
SnapshotInfos 截图数据
参数名称 | 类型 | 必填项 | 描述 |
Status | String | 是 | 视频截图任务状态。
|
SnapshotType | String | 是 | 截图类型。
更多信息,请参见视频截图。 |
SnapshotCount | Long | 是 | 截图总数。 |
SnapshotFormat | String | 是 | 截图名称格式。可使用OSS存储地址或CDN域名和该字段信息生成截图地址。 说明 如果用户存在域名且域名可能变动频繁,可根据字段信息生成截图具体地址。 |
SnapshotRegular | String | 是 | 截图地址规则。可根据规则生成截图地址 (推荐使用该字段生成截图地址),生成说明请参见下文截图地址生成。 说明 截图地址规则,有域名则返回CDN地址规则,否则返回OSS地址规则,暂时不支持HTTPS地址规则返回。 |
JobId | String | 是 | 截图任务ID。 |
最新上传的视频,截图OSS存储地址与视频OSS存储地址一致。更多信息,请参见存储管理。
截图地址生成
提供两种生成地址的方法:
根据SnapshotFormat生成截图地址
地址规则:http(s)://{CDN域名或OSS存储地址}/SnapshotFormat。
生成说明:{SnapshotCount}为对应每张截图的序列号(固定5位宽度,不足以0补齐)。
示例:
第一张截图序列号为:00001,则地址为:
http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00001.jpg
。第二张截图序列号为:00002,则地址为:
http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00002.jpg
。以此类推。
根据SnapshotRegular生成截图地址
地址规则:SnapshotRegular已经为完整的地址规则。
生成说明:同SnapshotFormat截图具体地址的生成说明。
回调示例
回调示例说明:
对于HTTP回调,以下内容为HTTP Post Body。
对于MNS回调,以下内容为消息体。
{
"EventType": "SnapshotComplete",
"EventTime": "2018-07-31T10:07:31Z",
"CoverUrl": "http://sample/covers/990f3820db2948b5b4a13d65d9a4****-00002.jpg",
"Extend":"test data",
"SnapshotInfos": [
{
"Status": "success",
"SnapshotType": "CoverSnapshot",
"SnapshotCount": 2,
"SnapshotFormat": "2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"SnapshotRegular": "http://sample/covers/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"JobId": "ee16d4bbf3f7*****e094bcb8cf8ddde"
},
{
"Status": "success",
"SnapshotType": "SpriteSnapshot",
"SnapshotCount": 1,
"SnapshotFormat": "2327a6ec24b44844b3a5e2c1b691****/covers/sprite/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"SnapshotRegular": "http://sample/covers/sprite/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"JobId": "b3187205eed*****b72adf4eb3840713"
}
]
}