2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

开发者用作品告诉我们,RTM SDK 还可以这么用

  • 2020-11-18
  • 本文字数:2313 字

    阅读完需:约 8 分钟

开发者用作品告诉我们,RTM SDK 还可以这么用

每当大家听到声网,一般想到的都会是“实时音视频”。但事实上,声网所专注的实时互动(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 端观


利用 RTM 实现 Demo 的实时交互演示


CodeSync 是“用程序员的方式解决程序员日常问题”。接下来的例子就是用来解决很多商业化产品遇到的问题——Demo 演示。


大家应该都有过类似经历,打开了一个新的 Web 应用,比如在线 P 图,有的网页会通过一些引导操作告诉你怎么来使用,有的是在页面显示指引,有的是图片、视频,有的还可能会是专门定制开发的程序。然而,页面中的指引需要开发来完成,视频 Demo 又不易于迭代。所以有一位声网的开发者就开发者这个叫“Storyteller”的编辑器。



用户不需要懂得编程。就像 Storytell 的名字一样,用户可以像编写故事一样在编辑器中一边演示操作,一边将它录制为教程,最终生成一个视频。在录制的同时,还可以邀请同事一起进行协同,给 Demo 演示添加更多备注、录制旁白等。其中旁白的录制是通过声网录制 SDK 实现的,协同的功能则是通过 RTM SDK 实现的。


实时消息的多种应用场景与痛点


这两个例子都是来自于声网社区开发者的创意,他们的作品都是从日常的痛点出发的。事实上,实时消息 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 在多种场景中实现实时消息的互动。


本文转载自公众号声网 Agora(ID:shengwang-agora)。


原文链接


开发者用作品告诉我们,RTM SDK 还可以这么用


2020-11-18 14:051740

评论

发布
暂无评论
发现更多内容

项目管理系列(9)- 项目分析与报告

Ian哥

28天写作

新荣耀历险记:带着“神装”踏上英雄试炼路

脑极体

Mysql 4种方式避免重复插入数据!

xcbeyond

MySQL MySQL使用 28天写作

高效学习:如何学得更快更好

石云升

学习 28天写作

重学JS | ES6既有Set,为啥还要有Weak Set?

梁龙先森

JavaScript 大前端 编程语言 28天写作

架构师训练营第四周作业

跳蚤

产品经理训练营作业-第二周-产品思维和产品意识

.nil?

产品经理训练营

「产品经理训练营」第二章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

「架构师训练营 4 期」 第四周 - 001

凯迪

Dockerfile ENV 使用指南

K8sCat

Docker Dockerfile ENV ARG

Nginx架构赏析

旺旺

nginx 架构 中间件

一文带你读懂:设计模式的六大原则

后台技术汇

28天写作

企业是如何选择技术栈来做离线数仓

大数据老哥

第九周 学习总结

简简单单

JVM垃圾回收机制是怎样的,何时触发YoungGC或FullGC操作?

Java鱼仔

Java 面试 JVM 垃圾回收

产品经理训练营笔记-产品思维和产品意识(中)

.nil?

产品经理训练营

Spring Boot 中集成Lucence

武哥聊编程

Java springboot SpringBoot 2 28天写作 Lucence

Elasticsearch 乐观锁并发控制

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

HASH碰撞问题一直没真正搞懂?这下不用慌了

架构精进之路

算法 hash 七日更 28天写作

Mac 电脑安装Etcd和Go的etcd/clientv3

BigYoung

Mac etcd client Go 语言

2021开启数据结构与算法的学习之旅

Nick

学习 flag 新年计划

第九周 性能优化(三)课后作业

简简单单

区块链交易所APP开发|区块链交易所系统软件开发

系统开发

产品 0 期 - 第二周作业

Jxin

数字货币交易所软件开发|数字货币交易所系统APP开发

系统开发

一起进阶一起拿高工资!Java开发进阶-log4j2日志脱敏原理分析

看点代码再上班

Java 程序员 log4j 编程开发

第二次作业

秦挺

虚拟币钱包APP系统开发|虚拟币钱包软件开发

系统开发

我是这样使用极客时间APP的

熊斌

极客时间 28天写作

“苹果陷阱”无法避免,但我们已经在路上

JiangX

苹果 供应链 28天写作 制造业

架构师训练营第四周学习总结

跳蚤

开发者用作品告诉我们,RTM SDK 还可以这么用_软件工程_声网_InfoQ精选文章