写点什么

开发者用作品告诉我们,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:051588

评论

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

详细介绍 `ls -ltr` 命令的功能和用法

wljslmz

Linux 6 月 优质更文活动

Ionic用于构建跨平台移动应用程序的开源框架

没有用户名丶

Kubernetes CNI 网络模型及常见开源组件

穿过生命散发芬芳

cni 6 月 优质更文活动

C语言字符串的常用操作

芯动大师

C语言 字符串数组 6 月 优质更文活动

强化学习从基础到进阶-常见问题和面试必知必答[4]::深度Q网络-DQN、double DQN、经验回放、rainbow、分布式DQN

汀丶人工智能

人工智能 深度学习 强化学习 DQN 6 月 优质更文活动

Nop平台中的模块依赖关系

canonical

开源 低代码 低代码平台 Nop平台

【JAVA】浅说 AQS

sidiot

Java AQS 6 月 优质更文活动

攻克信创难题|海泰新一代信创迁移平台解决方案“神农二号”问世

电子信息发烧客

【AI】浅谈使用正则化防止过拟合(下)

sidiot

人工智能 正则化 6 月 优质更文活动

模块五作业:微博发评论高性能高可用架构

家有两宝

#架构训练营

【Netty】「萌新入门」(五)Pipeline 与 ChannelHandler

sidiot

Java 后端 Netty 6 月 优质更文活动

强化学习从基础到进阶-案例与实践[4]:深度Q网络-DQN、double DQN、经验回放、rainbow、分布式DQN

汀丶人工智能

人工智能 深度学习 强化学习 DQN 6 月 优质更文活动

Linux 中的密码生成器:如何在命令行中生成随机密码

wljslmz

Linux 6 月 优质更文活动

OpenHarmony/HarmonyOS路由跳转并传值

坚果

OpenHarmony 6 月 优质更文活动

Nautilus Chain:模块化Layer3架构为RWA赛道构建基础设施

股市老人

STM32采集传感器数据通过冒泡排序取稳定值

DS小龙哥

6 月 优质更文活动

Python潮流周刊#8:Python 3.13 计划将解释器提速 50%!

Python猫

Python

数据基建:埋点体系从认知到解决方案搭建

Taylor

埋点 用户行为分析 精细化运营 埋点框架 埋点设计

【Netty】「项目实战」(一)如何构建多客户端聊天室

sidiot

Java 后端 Netty 6 月 优质更文活动

【网络安全】打造安全的应用程序:了解 SSDLC 的关键步骤

sidiot

SSDLC 6 月 优质更文活动

四大因素解析:常规阻抗控制为什么只能是10%?

华秋电子

强化学习从基础到进阶-案例与实践[4.1]:深度Q网络-DQN项目实战CartPole-v0

汀丶人工智能

人工智能 深度学习 强化学习 DQN 6 月 优质更文活动

Nautilus Chain:模块化Layer3架构为RWA赛道构建基础设施

鳄鱼视界

【AI】浅谈使用正则化防止过拟合(上)

sidiot

人工智能 正则化 6 月 优质更文活动

对线面试官-Redis(缓存的三大问题)

派大星

Java 面试题

Nautilus Chain:模块化Layer3架构为RWA赛道构建基础设施

威廉META

蔚来手撕代码题:三个线程循环打印ABC

王磊

java面试

聚力领航,2023 开放原子全球开源峰会燃爆夏日开源热

开放原子开源基金会

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