2020 是非比寻常的一年。我们与开发者们一起面对了许多未知与突如其来的改变。所幸,RTC 技术连接了你我,让工作与生活不至于停摆。在这一年,我们向着既定目标,迈过了一个里程碑,又踏上了下一段征程。
在音频方面,声网Agora 今年推出了业界首个基于 AI 的实时美声方案。该方案适用于包括语音通话、互动直播、语聊房、桌游狼人杀等语聊场景,以及互动直播、K歌房、线上KTV、FM 电台等歌唱场景。 同时,在以上场景中,声网还提供了变声音效、曲风音效、空间塑造、电音音效四种实时音效。开发者均可通过修改接口参数调整人声、音乐的音效效果。
我们之前曾经在一篇《用 AI+大数据让用户的声音更动听》中,详细分享了AI 美声背后的技术原理。
我们一直深耕于音频算法设计与落地,针对传统降噪的无法很好处理突发噪声的痛点(比如喷麦,就是典型的突发噪声),我们自研了基于深度学习的语音降噪模型 RFCAE(Residual Fully Convolutional Auto Encoder),并在今年依据此模型完成了实时降噪方案的落地。如下图所示是带噪语料、WebRTC降噪语料及AI降噪语料对比。
在视频层面,我们始终关注视频质量与互动体验。我们结合人工智能算法,同时利用先进的编码技术和传输算法,整体优化了 SD-RTN™ 传输策略和 Last Mile 传输策略,尤其针对东南亚、印度、印尼和埃及等地区进行网络优化,进一步降低首帧出图时间和切频道出图时间,并且有效提升码流爬升速度,优化用户体验。
同时,我们结合 AI 算法落地了专为 RTE 场景打造的感知技术套件 APAS(Agora Perception Augment Suit),将采集、前处理、编码、传输、抗弱网、渲染作为一个整体,通过多种自研算法来优化音视频端到端的处理。
在网络传输层,声网自研了基于 UDP 的多路复用传输协议 AUT(Agora Universal UDP-based Transport Protocol)。该协议满足以下技术要求:
通用性:使用一套协议设计来满足不同场景的需求,不仅 RTC,也包括可靠数据通道;
传输协议中原生的流支持:多路复用,灵活的优先级管理,通过流中捎带自定义的 Stream Meta 信息,给使用者进行流的管理决策;
灵活的拥塞控制模块接口,可扩展实现不同的拥塞控制算法;
底层网络接口化,能够支持 SD-RTN™、UDP Socket 和任何虚拟网络等。
AUT 协议在 Agora RTC SDK 中作为底层传输技术已经得到了技术验证,为上层应用提供了高质量的传输保证和灵活的控制机制。我们的首席架构师曾在 RTE 2020 实时互联网大会现场分享过该协议,可以点击这里观看回放。
多年来,跨平台开发一直都是最重要的技术趋势之一。从 React Native 到现在由 Google 力推的 Flutter,框架年年革新,但热度从未降低。采用跨平台开发技术让软件开发者几乎可以用同一套代码就为不同平台构建应用程序,节省了时间、人力,以及不必要的工作。
在跨平台开发支持上,声网可能是最激进的实时互动云服务。我们目前已支持多种语言、跨平台框架,以及游戏开发引擎,包括:Cocos2d-x、Cocos Creator、Electron、Flutter、Python、React Native、Rust、Unity、Unreal、UWP。其中,有些都是最初由社区开发者开发,并与官方一同维护的,也有一些是由官方开发维护的。它们分别放在 AgoraIO 和 AgoraIO-Community 两个 Github 中。
另外,还有一波支持其它语言或跨平台框架的 SDK 正在路上,希望可以进一步加速、简化开发者的实现实时互动的多种场景。
随着实时互动场景的增加,以及产品不断新增的功能,示例代码越来越多,很不利于开发者查找。所以我们在 AgoraIO 仓库中,上线了 APIExample 项目,包含了所有基础功能、单一场景的示例代码,比如一对一视频通话、一对一语音通话等。
另外,我们今年针对几个成熟场景,开源了功能相对完善的官方 Demo,其中一些 Demo 也可直接通过 App Store 下载体验,包括:
Agora Voice,该开源 Demo,适用于想开发高音质语音社交应用的开发者。
Agora Live,该开源 Demo,可直接实现连麦直播、单主播直播、PK 连麦直播、虚拟主播四种热门场景。
e-Education,该开源 Demo ,包含了一对一互动教学、一对 N 在线小班课和低延迟大班课三种场景。
Agora Meeting,该开源 Demo,是专为企业视频会议提供的示例项目,并包含白板功能。
除了这些 Demo,大家还可以访问以下三个 Github 获取更多示例代码:
AgoraIO,提供了一些基础的代码示例,以及一部分由官方维护的面向跨平台、第三方框架的 SDK 版本。
AgoraIO-Community,有来自社区开发者开发的一些 Demo,以及基于不同语言或框架开发的 SDK 等。
AgoraIO-Usecase,主要包含了一些成熟的场景 Demo。
仅仅提供 Demo 还是不够的,毕竟很多接口参数都需要查看文档来了解。今年我们通过为 10 余个平台/框架添加零基础跑通 Demo 文档,新增场景、最佳实践、术语等新类型的文档,帮助不同水平的开发者更好地使用 SDK。
同时,声网文档中心在 11 月份进行了改版,全面优化 UI 的同时,通过添加产品首页、API 专区、平台选择等,提升用户体验。
疫情之下,我们与开发者的很多交流与互动,也从线下搬到了线上。
大家一定都知道 rtcdeveloper.com 这个域名,这是我们最初的社区。开发者与声网工程师们的很多对话都发生在这里。去年有来自开发者的 1700 多个问题都是在这里被解答的。另外一些上升至工单的问题,也都在平均 15 个小时之内被解决。
另外,我们在今年上线了“声网开发者社区”。这里有我们长期举办的 Agora Talk、参加今年 RTE 2020 创新挑战赛春季赛、秋季赛的项目回顾、征文大赛的文章等内容,让开发者们可以了解更多音视频技术知识、开发经验,以及 SDK 的使用方法。
今年7月,声网基于近万亿分钟的用户体验数据及海量用户主观体验评价,定义并推出了实时互动行业首个体验质量标准 XLA,这是业内首个围绕用户实际体验建立的可量化、可查证、可赔付的体验质量标准和保证。XLA 相当于是把原本黑盒状态的体验质量明晰化了,一经推出就得到众多开发者及客户的认可,截至 10 月 24 日,已有 60 家企业加入 XLA 计划,将共同推动实时互动全行业体验质量的有效提升,推动实时互动行业逐渐走向成熟。
声网极速直播开创了低延时、强同步的"轻互动"直播场景,并支持连麦。极速直播主要面向对文字、白板等消息互动的延时要求较高,或强弱互动频繁切换的直播场景,主播与观众端延时在 1.5s-2s 之间,相比传统 CDN 直播方案延时降低 80% 以上,同时直播间内 90% 的观众与观众间延时差异小于 500ms,可满足电商直播、教育大班课、直播答题等观众需要强同步场景的需求。
基于传统的视频编解码方案,降低视频码率势必要以牺牲画质为代价,而声网基于对视频编解码多年的技术积累和深度理解,推出了低码高清产品服务,针对 CDN 直播场景,可以在保证主观画质不变的情况下,降低 50% 视频码率,帮助直播平台有效降低成本。声网低码高清通过融合 PVC(感知视频编码)、智能码控、ROI(感兴趣区域视频编码)等多种 AI 和深度学习算法,在服务端对实时媒体流进行转码处理,可实现同等画质下,大幅降低 CDN 直播视频码率,节省带宽成本。
首先,在实时数据传输质量的优化上,SD-RTN™ 的传输稳定性已达到专线水平,在包到达率上,SD-RTN™ 与专线已无差别,jitter 200ms 的到达率为 99.9%。
东南亚、中东地区的网络传输质量优化始终是目前行业的难点之一。我们在今年针对菲律宾等东南亚地区的网络质量进行了专项优化。目前,90% 端到端双向延时降低了14%,音频优质传输率达97.31%。
另外,通过对音视频、弱网、传输等层面的优化,在印度地区仅 Web 浏览器端的 5 秒登录成功率也提升了 8%,并且成功支持多次万人大频道直播活动落地。
在中东地区,客户通过声网Agora 的 Cloud Proxy,进一步提升了该地区用户的网络接入成功率。
我们今年对声网Agora RTC SDK 进行了深度的架构优化,实现了类似于 Rust 和 C++20的无栈协程架构,简化了异步逻辑开发难度,提升有“异步化逻辑”需求的研发效率。在包体积方面,目前的 SDK 体积相较于原来更小,而且提供了灵活的剪裁包体积的能力,这在行业中也是独有的。
声网Agora 视频/音频 SDK 现已更新至 3.2 版。在迭代的过程中,我们也不断地对其背后的抗弱网指标进行着优化,目前视频的抗弱网边界已经从原来的 60% 提升至 70%,音频则已经提升至 80%,在这样的弱网环境下,仍可以保证音频、视频的流畅体验。同时,根据美洲,亚洲,东南亚,中东等地区用户提供的数据显示,SDK 首帧出图、出声时间也得到了全面的优化,客户闭环验证结果与实验室测试结果完全吻合。
同时,稳定性监控系统落地上线,对稳定性问题可做到提前发现、崩溃问题定级、自动提交 JIRA,可使问题快速进入处理流程,大大提高了问题修复效率。
面向 Web 浏览器端的Agora 视频/音频 SDK 在今年完成了一次优化。目前最新版(4.x)的 Web SDK 采用了 Promise (async/await)异步方法,可以极大地提升开发者的开发效率和开发体验。
TypeScript 可以帮助开发者写出高质量、高可维护性的代码,对于大型的前端应用开发具有非常重要的意义。Agora Web SDK 4.x 版使用 TypeScript 开发,所以也导出了完备的类型定义文件供 TypeScript 开发者使用,配合编辑器的 TypeScript 插件,这将会极大得提升你的开发体验。
实时互动从来都不仅仅是指音视频的互动,还包括消息与信令控制等实时消息的交互。实时消息 RTM SDK 在今年已经开始支持富媒体消息的实时互动,支持传输 30MB 以内的图片或文件,并支持离线保存 7 天。
实时消息的传输同样需要低延时与高可靠。所以我们今年特别针对传输通道进行了优化。现在,RTM 在 Native 端的多种弱网情况下,消息到达率和实时性有大幅提升,在 70%的丢包下到达率 100%。根据用户数据反馈,RTM SDK 全球全网实际端到端平均延时 <150ms。
RTM SDK 目前已经支持 RESTful API、Unity 平台,以及小程序平台。
实时码流加速 RTSA SDK 在今年完成升级优化后,发布了两个子产品 RTSA Lite 与 RTSA Pro,适用于不同的场景。
其中 RTSA Lite 面向资源有限的轻量级设备,拥有极小包体、超低功耗、低延时、抗弱网等特性,适用场景主要包含智能手表、智能摄像头、智能音箱等穿戴式、便携式的智能设备。RTSA Lite 覆盖平台主要有 Linux 全平台以及 RTOS 平台,它也是业内首个支持 RTOS 平台的实时互动 SDK。
RTSA Pro 则面向体验优先、资源丰富的设备,覆盖 Linux、Android、Windows 等平台,适用场景为无人车、无人机、智能机器人等。
RTSA 把编解码的灵活性释放给设备端,支持客户充分利用硬件的优势进行自定义码流。在传输层,RTSA 继承 SD-RTN™,运用全球全网节点 、智能动态路由以及端侧弱网对抗算法,提供高联通性、低延时、高稳定性的音视频码流传输云服务,配合低延时,高可靠的信令通道,助力开发者在任意设备与场景中开启实时互动能力。
水晶球(Agora Analytics)是声网推出的行业首个实时音视频互动质量监测与分析工具,支持问题调查、数据洞察、实时数据、自动诊断。用户可以通过水晶球提供的丢包率、音视频接通、卡顿、网络连接状态等实时数据,快速分析定位质量问题。我们在今年优化更新了“大频道”功能,从原先只支持 100 人以上,现在最新版本已经取消该限制。
随着业务的全球化,声网将安全合规问题作为公司发展的重要战略方向,主动遵守业务覆盖国家和地区以及行业的各项法律法规,遵循最小化及公开透明的数据采集、处理原则,充分满足信息安全、数据安全及个人隐私保护规范。今年,声网获得了 ISO27001、ISO27017、ISO27018、SOC2 Type1 认证,通过了第三方 GDPR,CCPA,HIPPA 符合性检测/审计,进一步证明了严格的安全实践。
同时,为支持传输层加密,声网Agora 视频/音频 SDK 从 3.2 版开始新增 TLS(Transport Layer Security)加密和 UDP(User Datagram Protocol)加密方式。希望通过这一系列合规的动作,更好的保护全球开发者和客户的信息安全、数据安全及个人隐私。
2020 年,我们还有有很多典型的场景方案落地:
视频面试:见证牛客网的200万场视频面试
智能手表:轻量级设备专属的视频通话SDK
智能作业灯:远程即可辅导孩子的作业
Watch Party:见证Scener疫情期间100倍增长
太空杀:增加玩家沉浸感、社交感
云监考:实时监控考试画面并与考生视频通话
大家都经历了特别的一年,在「RTC 开发者社区」留言聊聊在即将过去的 2020 你的变化、你的收获,聊聊你学习了哪些新技术?迈过了哪些坎坷?也聊聊想为 2021 立下哪些新 flag?
我们将按 留言被点赞数排名 送出 21 份礼物
点击这里来参加吧:https://rtcdeveloper.com/t/topic/20286