视频点播支持HTTP回调和轻量消息队列(原 MNS)回调两种方式,本文为您介绍事件通知的事件类型、回调方式、回调配置、回调协议、回调内容公共参数等基本信息,以及回调判断与重试和常见问题。
事件通知简介
点播服务支持多个存储区域 ,每个区域可以单独配置事件通知的回调方式和回调地址。用户可以上传视频到不同区域的存储,视频处理完成后,点播服务会根据存储区域配置的回调方式和回调地址及时通知用户。
回调body中,返回的URL均为HTTP地址,暂不支持HTTPS地址的返回,如有需要,可以参考事件通知常见问题中的方案解决。
回调方式
点播服务目前支持HTTP回调(兼容HTTPS)、轻量消息队列(原MNS)回调两种方式获取事件通知:
- HTTP回调(兼容HTTPS): - HTTP回调是您被动接收视频点播服务事件通知的模式。您需要部署一个HTTP服务来接收回调消息,并在视频点播服务中配置回调URL;当事件产生时,点播服务端会向该URL发起HTTP POST请求,事件通知内容将通过HTTP Body送达。 
- 轻量消息队列(原 MNS)回调: - 轻量消息队列(原 MNS)回调是您主动向视频点播服务拉取接收事件通知的模式。您需要授权点播服务访问轻量消息队列(原MNS)并在轻量消息队列(原 MNS)中创建队列或使用已有队列,然后在视频点播服务中完成事件通知的配置;当事件产生时,点播服务会将回调内容写入该队列,您需要到轻量消息队列(原 MNS)中接收查看消息。在轻量消息队列(原 MNS)控制台中创建队列及接收消息的详细操作,请参见队列操作。 
HTTP回调与轻量消息队列(原MNS)回调对比
| 对比项 | HTTP回调 | 轻量消息队列(原MNS)回调(推荐) | 
| 可靠性 | 若您的HTTP消息接收服务存在异常(崩溃或重启),则消息可能会丢失。 | 更为可靠,只要配置正常,消息回调几乎都能成功。 | 
| 安全性 | HTTP方式都可回调该地址,但可配合回调鉴权过滤非法请求,以增强安全性。 如何配置,请参见HTTP回调鉴权。 | 由于仅授权方能读写消息队列,安全性更高。 | 
| 便捷性 | 接入更为方便,只需简单部署消息接收服务。 | 需要额外开通和配置轻量消息队列(原 MNS),并且需要开发和部署消费消息的程序。 | 
回调协议
回调内容公共参数
| 参数名称 | 类型 | 描述 | 
| EventTime | String | 事件产生时间, 为UTC时间:yyyy-MM-ddTHH:mm:ssZ。 | 
| EventType | String | 事件类型。 | 
| VideoId | String | 视频ID。 | 
| Status | String | 处理状态,取值: 
 | 
| Extend | String | 在上传或提交作业接口中,指定UserData;并且若里面包含Extend字段,会在事件完成回调时透传返回用户自定义数据,最大长度512字节。 | 
回调判断与重试
- HTTP回调 - 点播服务发起HTTP回调时,若回调接收服务响应的HTTP状态码为200即视为回调成功;响应状态码不为200,或是响应时间超过5秒出现超时,都视为回调失败。点播服务会忽略响应的包体内容,仅以HTTP状态码为准。 
- 若由于配置异常(比如您的回调地址错误、消息接收服务异常等),导致消息回调失败,点播服务会继续重试回调2次,即总共最多回调3次;超过后会丢弃。 
 
- 轻量消息队列(原 MNS)回调 - 点播服务发起轻量消息队列(原 MNS)回调时,只要消息写入轻量消息队列(原 MNS)成功即视为回调成功,否则为失败。 
- 若由于配置异常(比如未授权点播服务访问、队列地址不是公网或队列名称不对等),导致消息写入轻量消息队列(原 MNS)失败,点播服务会继续重试2次,即总共最多回调3次;超过后会丢弃。 
 
点播服务在回调失败后会间隔1秒再次发起重试,若总共3次回调仍失败则会丢弃该消息;如要确保可靠通知,建议使用轻量消息队列(原 MNS)回调,其可靠性更高,只要配置正常,几乎能确保消息回调成功。
回调配置
HTTP和MNS回调的配置流程有所差异,均支持通过视频点播控制台和API/SDK的方式配置。详细的配置流程及使用限制请参见如何使用和如何使用。
事件类型
点播目前支持的事件通知类型如下:
| 事件类型 | 参考文档 | 
| FileUploadComplete | |
| ImageUploadComplete | |
| StreamTranscodeComplete | |
| TranscodeComplete | |
| SnapshotComplete | |
| DynamicImageComplete | |
| AddLiveRecordVideoComplete | |
| LiveRecordVideoComposeStart | |
| UploadByURLComplete | |
| UploadByURLComplete | |
| CreateAuditComplete | |
| AIMediaAuditComplete 说明  对应视频点播控制台上的视频AI处理完成事件。 | |
| VideoAnalysisComplete | |
| UpdateMediaStorageClassComplete | |
| RestoreMediaComplete | |
| AIMediaDNAComplete 说明  对应视频点播控制台上的视频AI处理完成事件。 | |
| AIVideoTagComplete 说明  对应视频点播控制台上的视频AI处理完成事件。 | |
| AttachedMediaUploadComplete | |
| ProduceMediaComplete | |
| DeleteMediaComplete | |
| MediaBaseChangeComplete | |
| SubmitMediaRefreshComplete | |
| WorkflowTaskComplete | 
常见问题
使用过程中遇到问题时(例如:如何从回调中获取到HTTPS地址?如何实现多回调地址?),请参见事件通知常见问题。