腾讯云智能创作如何接收事件通知_音视频解决方案_同尘科技

智能创作 2年前 (2023-11-30) 浏览 124

使用须知

功能介绍

本文以在用户端上传一个视频为例,向开发者展示智能创作 事件通知机制 的使用方法。

架构和流程

开发者搭建一个 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折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?