BpFile(id=143, bpId=139, name=视频直播业务上云, author=null, keyword=视频直播,MQTT微消息队列,表格存储,内容安全, description=介绍手机端通过云视频直播服务来推流和拉流实现视频直播业务,同时利用MQTT微消息、内容安全和表格存储来解决。, position=null, ossUrl=bp-9V6C276OKCSW64EP.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
本文档适用于针对视频直播业务场景,通过阿里云视频直播服务实现移动端的推拉流能力,同时移动端利用MQTT消息服务实现发送和接受消息,在消息转发时利用内容安全服务对消息内容进行审核。发送的消息可以存储在表格存储中。
, templateId=SQ21VF5R0M0GVB4G, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=SQ21VF5R0M0GVB4G, partner=null, partnerUrl=null, partnerLogo=null, cooperation=59, cooperationList=null)
1
在线教育视频直播最佳实践
场景描述
业务架构图
本文档适用于在线教育的视频直播场景,通过
阿里云视频直播服务实现移动端的推拉流能
力,同时移动端利用 MQTT消息服务实现发送
和接受消息,在消息转发时利用内容安全服务
对消息内容进行审核。发送的消息可以存储在
表格存储中。
解决问题
1. 解决视频直播中手机端的推拉流问题。
2. 解决直播中手机端互发消息和消息内容的
安全审核问题,同时低成本保存消息。
产品列表
⚫ 视频直播
⚫ 消息队列 MQTT/RocketMQ
⚫ 表格存储(TABLESTORE)
⚫ 内容安全
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
在线教育视频直播
最佳实践
文档版本:20200305(发布日期)
文档版本:20200306 2
3在线教育视频直播 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 互联网教育直播最佳实践
文档编号 139
文档版本 V1.2
版本日期 2020-03-05
文档状态 -
制作人 弦望、久诚
审阅人 -宋宇、阿瑟
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2020-02-24 弦望、久诚 宋宇、阿瑟 创建
V1.1 2020-02-26 弦望 迭代 Android客户
端接入
V1.2 2020-03-05 弦望、久诚 MQTT 使用 token
认证
文档版本:20200306 I
4在线教育视频直播 前言
前言
概述
本文针对在线教育中的视频直播场景,采用手机作为客户端,利用推拉流 SDK和视
频直播服务实现视频的高效分发。同时,该方案还支持手机间通过 MQTT协议互相
发送消息,在信息的服务端对信息内容进行安全审核,不合规内容不能转发,消息
内容在服务端保存供后续查看。
应用范围
⚫ 适用于视频直播场景,通过手机端应用调用推流和拉流 SDK,利用阿里云视频
直播服务来实现视频分发。
⚫ 利用 MQTT消息中间件实现手机端接受和发送消息,同时在服务端实现消息转
发时对消息进行内容审核和消息存储。
名词解释
⚫ 视频直播:视频直播(ApsaraVideo Live)是基于领先的内容接入与分发网络和
大规模分布式实时视频处理技术(含窄带高清 TM)打造的音视频直播平台,提
供易接入、低延迟、高并发、高清流畅的音视频直播服务。
⚫ 内容安全:内容安全基于深度学习技术, 提供图片、视频、语音、文字等多媒
体的内容风险智能识别服务,不仅能帮助用户降低色情、暴恐、涉政等违规风
险,而且能大幅度降低人工审核成本。
⚫ 微消息队列 MQTT版:微消息队列 MQTT 版是专为移动互联网(MI)、物联网
(IoT)领域设计的消息产品,覆盖互动直播、金融支付、智能餐饮、即时聊天、
移动 Apps、智能设备、车联网等多种应用场景;通过对 MQTT、WebSocket
等协议的全面支持,连接端和云之间的双向通信,实现 C2C、C2B、B2C 等
业务场景之间的消息通信,可支撑千万级设备与消息并发,真正做到万物互
联。
⚫ 消息队列 RocketMQ版:消息队列 RocketMQ 版是阿里云基于 Apache
RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。该
产品最初由阿里巴巴自研并捐赠给 Apache 基金会,服务于阿里集团 13 年,
覆盖全集团所有业务。作为双十一交易核心链路的官方指定产品,支撑千万级
并发、万亿级数据洪峰,历年刷新全球最大的交易消息流转记录。
文档版本:20200306 III
5在线教育视频直播 前言
⚫ 表格存储:表格存储(Tablestore)是阿里云自研的面向海量结构化数据存储的
Serverless NoSQL多模型数据库,被广泛用于社交、物联网、人工智能、元数
据和大数据等业务场景。提供兼容 HBase的 WideColumn模型、消息模型
Timeline以及时空模型 Timestream,可提供 PB级存储、千万 TPS以及毫秒
级延迟的服务能力
文档版本:20200306 IV
6在线教育视频直播 目录
目录
文档版本信息 .................................................................... I
法律声明 ....................................................................... II
前言 .......................................................................... III
目录 ............................................................................ V
最佳实践概述 .................................................................... 1
前置条件 ........................................................................ 2
演示环境说明 .................................................................... 3
1. 视频直播 ................................................................. 4
1.1. 方案总体介绍 ......................................................... 4
1.2. 视频直播方案 ......................................................... 4
1.3. 视频直播服务开通与配置 ............................................... 5
1.4. 视频直播客户端-Android端 ............................................. 8
1.5. 视频直播功能验证-Android端 .......................................... 20
1.6. 视频直播客户端-iOS端 ................................................ 23
1.7. 视频直播功能验证-iOS端 .............................................. 35
2. 直播消息处理 ............................................................ 39
2.1. 消息处理方案 ........................................................ 39
2.2. MQTT消息服务介绍 .................................................... 40
2.3. 服务端资源申请 ...................................................... 40
2.3.1. 申请 MQTT消息服务 ............................................... 40
2.3.2. 申请内容安全服务 ................................................ 47
2.3.3. 申请表格存储服务 ................................................ 50
2.3.4. 创建消息服务端资源 .............................................. 53
2.3.4.1. 创建VPC网络 .............................................. 53
2.3.4.2. 创建ECS实例 .............................................. 54
2.4. 服务端程序 .......................................................... 58
2.4.1. 服务端消息鉴权 .................................................. 58
2.4.2. 服务端程序配置和编译 ............................................ 59
2.4.3. 服务端程序部署 .................................................. 61
2.5. 移动端程序-Android端 ................................................ 61
2.6. 消息功能验证-Android端 .............................................. 67
2.7. 移动端程序-iOS端 .................................................... 69
2.8. 消息功能验证-iOS端 .................................................. 74
文档版本:20200306 V
7在线教育视频直播 最佳实践概述
最佳实践概述
方案架构
⚫ 利用视频直播服务实现移动端之间的视频推拉流。
⚫ 手机端应用利用 MQTT消息服务互相实现消息的发送和接收。
⚫ 消息在服务端转发时,通过内容安全服务对发送的信息进行内容审核,将合规
的消息保存到表格存储中。
方案优势
⚫ 利用阿里云视频直播服务实现手机端和接收端的高效推拉流。
⚫ 手机应用采用 MQTT消息推送机制保持和服务端的长连接,避免轮询方式,更
加省电。
⚫ 利用阿里云内容安全采用多种维度对消息内容审核,简化实现,更加准确。
⚫ 利用表格存储保存消息内容是一种低成本的存储方案。
文档版本:20200306 1
8在线教育视频直播 前置条件
前置条件
在执行本实践前,您需要完成以下准备工作:
⚫ 注册阿里云账号,并完成实名认证。您可以登录阿里云控制台,并前往实名认
证页面查看是否已经完成实名认证。
⚫ 阿里云账户余额大于 100元。您可以登录阿里云控制台,并前往账户总览页面
查看账户余额。
文档版本:20200306 2