智能媒体服务支持HTTP回调和MNS回调两种方式。本文为您介绍事件通知的事件类型、回调方式、回调配置、回调协议等基本信息,以及回调判断与重试相关内容。

事件类型

目前支持的事件类型如下:

分类 事件名称 事件名 参考文档
媒资上传 音视频上传完成 FileUploadComplete 媒资上传
URL上传完成 UploadByURLComplete
图片上传完成 ImageUploadComplete
辅助媒资上传完成 AttachedMediaUploadComplete
媒体流注册完成 RegisterStreamComplete
媒体流上传完成 StreamUploadComplete
媒体流URL上传完成 UploadStreamByURLComplete
媒资管理 人工审核完成 CreateAuditComplete 媒资管理
工作流 工作流处理结果 WorkflowTaskComplete 工作流
点播媒体处理 音视频分析完成 VideoAnalysisComplete 点播媒体处理
视频截图完成 SnapshotComplete
视频动图完成 DynamicImageComplete
子任务转码完成 TranscodeComplete
主任务转码完成 TranscodeParentComplete
视频AI AI审核完成 AIMediaAuditComplete 视频AI
AI生产完成 AIProduceComplete
智能剪辑 媒体合成完成 ProduceMediaComplete 智能剪辑

回调方式

智能媒体服务目前支持HTTP回调(兼容HTTPS)、MNS回调两种方式获取事件通知:

  • HTTP回调(兼容HTTPS)

    您需要部署一个HTTP服务来接收回调消息,并在点播控制台上配置回调URL;当事件产生时,智能媒体服务端会向该URL发起HTTP POST请求,具体内容将通过HTTP Body送达。

  • MNS回调

    您需要授权智能媒体服务访问消息服务MNS,然后登录消息服务MNS控制台,创建队列或使用已有队列,调用接口事件通知配置。当事件产生时,智能媒体服务会将回调内容写入该队列,具体读取消息参见消息服务。

两种方式对比

对比项 HTTP回调 MNS回调
可靠性 若您的HTTP消息接收服务存在异常(崩溃或重启),则消息可能会丢失。 更为可靠,只要配置正常,消息回调几乎都能成功。
安全性 HTTP方式都可回调该地址,但可配合回调鉴权过滤非法请求,以增强安全性。 由于仅授权方能读写消息队列,安全性更高。
便捷性 接入更为方便,只需简单部署消息接收服务。 需要额外开通和配置MNS,并且需要开发和部署消费消息的程序。

请结合您的使用场景,综合考虑选择哪种回调方式。

回调设置

登录智能媒体服务控制台,在配置管理 > 回调设置页面,配置回调信息。具体操作,请参见回调设置回调设置

回调协议

  • HTTP回调
    • 请求:HTTP POST请求,包体内容为JSON,每一种回调的具体包体内容参见文档。
    • 应答:智能媒体服务会忽略应答包内容。
  • MNS回调

    接收消息内容为JSON,每一种回调的具体包体内容参见文档。

回调判断与重试

  • HTTP回调
    • 智能媒体服务发起HTTP回调时,若回调接收服务响应的HTTP状态码为200即视为回调成功;响应状态码不为200,或是响应时间超过3秒出现超时,都视为回调失败。智能媒体服务会忽略响应的包体内容,仅以HTTP状态码为准。
    • 若由于配置异常(比如您的回调地址错误、消息接收服务异常等),导致消息回调失败,智能媒体服务会继续重试回调2次,即总共最多回调3次;超过后会丢弃。
  • MNS回调
    • 智能媒体服务发起MNS回调时,只要消息写入MNS队列成功即视为回调成功,否则为失败。
    • 若由于配置异常(比如未授权智能媒体服务访问、队列地址不是公网或队列名称不对等),导致消息写入MNS失败,智能媒体服务会继续重试2次,即总共最多回调3次;超过后会丢弃。
说明 智能媒体服务在回调失败后会间隔1秒再次发起重试,若总共3次回调仍失败则会丢弃该消息;如要确保可靠通知,建议使用MNS回调,其可靠性更高,只要配置正常,几乎能确保消息回调成功。