每当大家听到声网,一般想到的都会是“实时音视频”。但事实上,声网所专注的实时互动(RTE)不仅仅是实时音视频,还有实时的消息、录制、内容审核、美颜 贴纸、人脸识别等很多功能。其中,实时消息,即实时的信令同步与控制,以及实时图文消息,就可以通过Agora RTM SDK 实现。有一些声网社区的开发者已经意识到了这一点,基于 RTM SDK 做出了一些实用又有趣的项目。
用 RTM 做代码“共享”
在今年 RTE 编程挑战赛的参赛作品中,有一支团队不按常理出牌,他们没有基于 SDK 去做 App,而是开发了一个 VS Code 插件+Web 页面。
图:网页端的同步显示
这个项目叫做 CodeSync,其中的 VS Code 插件是给老师用的,Web 端则是给学生用的。插件可以让老师把自己在 VS Code 中的代码和操作都实时同步给观看 Web 页面的学生。学生则可以在 Web 端看代码的同时,通过页面中的聊天窗发文字提问。这个项目中的代码操作同步与消息聊天的功能,就是通过实时消息 RTM SDK 实现的。
项目开发者于卓浩和王嘉维的初衷是为了解决老师投影代码看不清,而且不利于提问、交流的问题。更重要的是,RTM SDK 能很好地在学校课堂的弱网环境下提供低延时的实时交互,同步共享代码与操作。RTM SDK 在 70%丢包的弱网下,也能保证消息100%到达。
这个项目不仅最终在编程挑战赛中获了奖,也成了他们上课讲代码时,老师和全班同学都会用到的工具。
图:老师在上课时使用 CodeSync 讲代码,同学在 Web 端观
该项目已经在 Github 开源,大家可以参考:https://github.com/AgoraIO-Community/RTE-Innovation-Challenge-2020/tree/master/SDKChallengeProject/CodeSync
利用 RTM 实现 Demo 的实时交互演示
CodeSync 是“用程序员的方式解决程序员日常问题”。接下来的例子就是用来解决很多商业化产品遇到的问题——Demo 演示。
大家应该都有过类似经历,打开了一个新的 Web 应用,比如在线 P 图,有的网页会通过一些引导操作告诉你怎么来使用,有的是在页面显示指引,有的是图片、视频,有的还可能会是专门定制开发的程序。然而,页面中的指引需要开发来完成,视频 Demo 又不易于迭代。所以有一位声网的开发者就开发者这个叫“Storyteller”的编辑器。
用户不需要懂得编程。就像 Storytell 的名字一样,用户可以像编写故事一样在编辑器中一边演示操作,一边将它录制为教程,最终生成一个视频。在录制的同时,还可以邀请同事一起进行协同,给Demo 演示添加更多备注、录制旁白等。其中旁白的录制是通过声网录制 SDK 实现的,协同的功能则是通过 RTM SDK 实现的。
该项目也已经在 Github 开源:https://github.com/AgoraIO-Community/RTE-Innovation-Challenge-2020/tree/master/SDKChallengeProject/storyteller
实时消息的多种应用场景与痛点
这两个例子都是来自于声网社区开发者的创意,他们的作品都是从日常的痛点出发的。事实上,实时消息 RTM SDK 也已被集成到很多不同场景中了,比如:
语音聊天室、直播聊天室
在语音聊天室和直播聊天室中,可以通过 RTM SDK 来实现聊天互动(图文消息、礼物、点赞、表情、自定义消息等)、麦位控制、房间管理(房间进出通知、房间人数、房间用户名单)。相对来讲,直播聊天室对于实时消息的要求更高一些。因为在直播过程中会有连麦、送礼,这些消息和控制信令是绝对不能丢失的。
视频聊天
在视频聊天场景中,RTM SDK 除了可以用于实现聊天互动,还可以实现呼叫邀请、用户管理(用户在线状态、用户消息)。这个场景对实时消息的核心指标之一是高接通率,呼叫必到,不能漏掉重要的电话。
在线教育
在线教育的场景相对复杂一些,不仅需要有聊天互动和用户管理,还需要通过信令来同步课件、举手发言、禁言麦克风、实现白板功能,并且在课堂录制中需要提供历史消息,保证可以随时回溯课堂的聊天内容个白板内容。这些功能都需要通过 RTM SDK 来实现。
多种 IoT 场景
实时互动的场景不止会出现在手机屏和电脑屏上,在智能设备上也有实时互动的新场景,而且有些背后也有声网 RTM SDK 的支持。例如,智能家居的控制信令、智能手表的消息收发、VR/AR 中的实时标注,甚至智能车载的远程控制和车辆的位置状态同步也可以基于实时消息实现。
场景痛点与 RTM 特性
以上这些场景都可以通过声网Agora 实时消息 RTM SDK 实现。RTM SDK 支持文字、表情、图片、文件、以及自定义消息。同时,还提供 RESTful 接口,开发者可以按照需求查询频道或者用户的历史消息。综上来讲,RTM SDK 支持的功能有两大类,实时消息与信令、用户频道与管理:
对于目前行业来讲,最大的痛点有三点:
-
信令、消息延时大。这会导致很多场景下不可用,比如在直播的高并发状态下,礼物或弹幕消息可能会卡壳、延时,主播不能及时看到这些消息,反应总会慢半拍,就会影响实时互动的体验。
-
信令、消息可靠性差。这里的可靠性指的是接通率、消息送达率。例如在线教育场景中,学生与老师的连麦、问答消息的发送等需要有很高的可靠性,否则就会导致较高的退课率。
-
缺少对全球服务的支持。现在很多线上场景都趋向于全球化,例如在线教育、跨境的客服服务、视频通话等。所以有较为完备的全球服务部署,对于实时消息服务来讲至关重要。
针对这些痛点,声网Agora 实时消息 RTM SDK 具备以下特性:
抗弱网、高可靠
声网针对弱网场景下的实时传输进行了传输算法与策略的优化。经过实际测试,可以在 70% 丢包弱网情况下,保证消息 100%达到。
单频道百万高并发
RTM SDK 支持同时在线人数无上限,可支撑亿级消息并发,单频道百万并发,能应对多种高并发实时互动场景。
全球部署低延时传输
实时网络服务部署覆盖全球200多个国家和地区,结合声网自研的智能路由算法、基于深度学习的拥塞控制算法,以及最优的边缘节点接入策略,全球实时消息平均传输延时 < 150ms。与声网实时语音、视频 SDK 配合开发,可帮助开发者实现多种全球化的实时互动场景。
目前,新东方、美术宝、晓黑板、Kumu、VIP陪练等团队都在通声网Agora 实时消息 RTM SDK 在多种场景中实现实时消息的互动。如果你希望了解更多关于实时消息 RTM SDK 的接口特性与功能细节,请点击「阅读原文」或访问声网文档中心。
转载:https://blog.csdn.net/agora_cloud/article/details/109505614