腾讯云智能创作如何接收事件通知_音视频解决方案_同尘科技
使用须知
功能介绍
本文以在用户端上传一个视频为例,向开发者展示智能创作 事件通知机制 的使用方法。
架构和流程
开发者搭建一个 HTTP 服务,接收来自智能创作的事件通知请求。本文档以该服务通过对 Storage.NewFileCreated 的处理,实现获取用户在用户端上传视频的媒体 ID 及云点播 FileId 等其它信息为例,来介绍事件通知服务的实现方法。系统主要由三个部分组成:用户端、事件接收服务、智能创作,其中事件接收服务是本文档需要实现及部署的服务。其架构如下图所示:
具体业务流程为:1. 用户端上传一个视频到智能创作。2. 智能创作后台发起 Storage.NewFileCreated
事件通知请求给事件接收服务。3. 事件接收服务解析事件通知内容,将新文件的媒体 ID 及云点播 FileId 打印到日志中。
接口约定
本教程中约定,事件接收服务暴露的接口形式如下:事件接收服务的 URL 地址为 https://api.example.com/callback
。智能创作以 HTTP POST 方式发起事件通知,通过 BODY 传递事件通知内容。
准备工作
案例中所用到的素材
视频:
创建智能创作平台
请参见 创建标准型平台 创建一个智能创作平台。注意 若已创建智能创作平台,请忽略此步骤。
快速部署事件通知接收服务
步骤1:部署后端服务框架
本教程基于 Node.js 以及 koa 框架进行开发(您也可以替换成您熟悉的编程语言与框架)。也可以使用腾讯云轻量应用服务器(Lighthouse)或无服务器云函数(SCF)快速部署,请参见:Lighthouse:搭建 Node.js 开发环境。SCF:快速部署 Koa 框架。事件通知服务的主框架代码如下:
const Koa = require('koa')const Router = require('koa-router')const bodyparser = require('koa-bodyparser');
const app = new Koa()const router = new Router()
// 示例请求路由代码,后续会将其用正式路由替换router.post('/hello', (ctx, next) => { ctx.body = 'world'})
app.use(bodyparser());app.use(router.routes())app.listen(80)
部署服务,并访问 http://api.example.com/hello
,接口将返回文本 world
。
步骤2:开发事件接收服务接口(Callback)
主要流程如下:1. 接收请求,从 BODY 中解析出新文件的媒体 ID 及云点播 FileId。2. 在日志中输出媒体 ID 及云点播 FileId。3. 组装应答。在 App 的路由部分增加如下代码,来支持 Callback
路径的路由:
const fileCreatedEventType = "Storage.NewFileCreated"
router.post('/Callback', async cxt => { //获取post传递的数据 const body = cxt.request.body const eventtype = body.EventType if (eventtype === null) { console.log("invalid EventType") ctx.body = { Code: "Failed", } return }
switch (eventtype) { case fileCreatedEventType: const event = body.StorageNewFileCreatedEvent console.log("MaterialId: " + event.MaterialId) console.log("FileId: " + event.FileId) default: console.log("EventType: " + eventtype) }
ctx.body = { Code: "Success", }});
注意 智能创作只判断 HTTP 返回码,如果是 200 即认为成功,否则会重试回调三次。
步骤3:配置事件通知地址
配置事件通知地址请参阅 开通事件回调 提工单,由智能创作工作人员配置。
步骤4:测试事件接收服务
按照 网盘-上传综述 指引的方式上传视频。等待视频上传成功后,登录到事件通知服务,应该可以看到日志中打印出媒体 Id 及云点播 FileId。注意 目前事件通知是以智能创作 平台 为单位配置,上传视频所使用的用户端平台必须与事件通知配置的平台一致,否则无法接收到事件通知。
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?