有奖:语音产品征文挑战赛火热进行中> HOT
本教程将详细地指导您如何使用云点播的事件通知,包括“普通回调”和“可靠回调”两种方式。

前提条件

注册腾讯云 账号,并完成 实名认证
普通回调下,需要 Python 2.7 运行环境。

普通回调

部署回调接收服务

普通回调 的方式获取事件通知,需要在有公网 IP 的服务器上,部署回调接收服务。这里以 CVM 为例,介绍如何部署该服务:
1. 进入云服务器 CVM 控制台的 实例列表 界面,单击新建
2. 选择快速配置菜单,“镜像”选择“Ubuntu Server”或“CentOS”,“公网带宽”选择“1Mbps”并勾选“分配免费公网 IP”,然后单击立即购买
3. 再次进入 实例列表 界面,找到您创建成功的 CVM 示例,并拷贝”主IP地址“中的公网 IP(示例中的 IP 是 134.XXX.XXX.167)。n


4. 登录您购买的 CVM,下载 源码压缩包 并解压到您的工作目录,然后执行以下命令:
python NotificationReceiveServer.py
命令执行后,CVM 的标准输出打印Started httpserver on port 8080,表示服务进程已经启动,正在监听8080端口。
5. 在浏览器中输入http://134.XXX.XXX.167:8080,CVM 的标准输出将打印如下 HTTP 请求信息。n



配置普通回调

1. 登录 云点播控制台 > 应用管理,单击目标应用名称进入应用管理页面,选择左侧菜单栏的回调设置
2. 单击设置
回调模式:选择“普通回调”。
回调 URL:填入http://134.XXX.XXX.167:8080
回调事件:勾选“视频上传完成”。
注意:
如果您在控制台同时看到两个回调 URL 设置(2.0版本格式和3.0版本格式),请填写3.0版本。如下图所示:



3. 单击确定完成设置。

发起与接收普通回调

请下载 演示视频 到您的本地,用于入门教学。
1. 登录 云点播控制台,单击左侧导航栏应用管理,进入应用列表页。
2. 找到需要处理音视频文件的应用,单击应用名称进入应用管理页。
3. 默认进入媒资管理 > 音视频管理页面,单击上传音视频。n


4. 弹出“上传文件”的对话框后,选择“本地上传”,单击选择文件,将演示视频上传到云点播平台。



5. 执行上传之后,您将在“正在上传”页看到文件的上传进度。


6. 上传完成之后,在“已上传”页的视频列表中,将看到上传完成的视频,以及视频对应的 ID(即 FileId)。



7. 检查 CVM,标准输出打印视频上传完成通知的内容。



8. 在媒资管理的“已上传”页,勾选刚上传成功的视频,单击转码。“处理类型”选择“手动选择转码模板”选项,并在“转码模板”中勾选“MP4-流畅-FLU (10)”,保持“视频封面”勾选,单击确定。
9. 等待10分钟后,检查 CVM,标准输出打印 任务流状态变更 通知的内容,其中包括了转码(Type为Transcode)和时间点截图做封面(Type为CoverBySnapshot)的结果。



至此,您上传了一个视频并对其执行了转码任务。上传和转码完成后,您的回调接收服务分别接收到了一个“视频上传完成”和“任务流状态变更”通知。

可靠回调

1. 登录 云点播控制台> 应用管理,单击目标应用名称进入应用管理页面,选择左侧菜单栏的回调设置
2. 单击设置
回调模式:选择“可靠回调”。
回调事件:勾选“视频上传完成”。
3. 单击确定完成设置。

发起可靠回调

1. 登录 云点播控制台,单击左侧导航栏应用管理,进入应用列表页。
2. 找到需要处理音视频文件的应用,单击应用名称进入应用管理页。
3. 默认进入媒资管理 > 音视频管理页面,单击上传音视频



4. 弹出“上传文件”的对话框后,选择“本地上传”,单击选择文件,将演示视频上传到云点播平台。



5. 执行上传之后,您将在“正在上传”栏看到视频的上传进度。



6. 上传完成之后,在“已上传”栏的视频列表中,将看到上传完成的视频,以及视频对应的 ID(即 FileId)。



7. 音视频管理的“已上传”页,勾选刚上传成功的视频,单击转码,并在“转码模板”中勾选“STD-H264-MP4-360P”,保持“使用视频首帧作为封面”勾选,单击确定






至此,您重新上传了一个视频,并对视频发起了转码任务。这些操作将会触发事件通知。

拉取可靠回调

事件通知触发后,您需要主动拉取可靠回调。您可以通过 API 工具 执行PullEvents命令,查询待消费的事件通知,具体步骤如下:
1. 进入 云点播 PullEvents 命令的 API 3.0 Explorer,填写您的“个人密钥”(可单击查看密钥,从 API 密钥管理控制台 获取)。



2. 在右边栏中选择在线调用,并单击发送请求



发送请求后,观察返回结果中的事件列表EventSet。 事件列表中包含两个事件通知,类型是“视频上传完成”和“任务流状态变更”,对应的事件句柄分别是80785711803718500788078360634045903972






至此,您以可靠回调的方式拉取到了“视频上传完成”和“任务流状态变更”两个通知。接下来,您需要立即确认拉取到的事件通知。

确认可靠回调

拉取到的可靠回调需要在30秒内完成确认,否则:
事件句柄30秒后再调 API 进行确认,将调用失败。
事件超过30秒没有确认,将会在下一次拉取可靠回调时再次被拉取到。
您可以通过 API 工具 执行ConfirmEvents命令,查询待消费的事件通知,具体步骤如下:
1. 进入 云点播 ConfirmEvents 命令的 API 3.0 Explorer,填写您的“个人密钥”。



2. 在“EventHandles.N”输入框中,填写您拉取事件通知时获取的事件句柄。



3. 在右边栏中选择在线调用,并单击发送请求



请求成功后,返回以下信息。n


如果返回失败,请确认:
事件句柄是否填错。
事件是否已经拉取超过30秒。
4. 经过5分钟,再次使用 API 工具 执行PullEvents命令,拉取事件通知。



如果返回 ResourceNotFound 错误,表示已经没有可以拉取的通知了。