有人说:2G 看文字,3G 看图片,4G 看视频,那么对于已经开启序幕的 5G 时代呢?随着短视频、在线课堂、互动直播等音视频应用的崛起,如何适配差异化的网络环境,为用户提供更流畅高清的实时音视频服务成为关注重点。而当前的音视频技术依然无法避免各种卡顿丢包、网络覆盖问题,也无法提供聊天、存储、转码、AI 处理等全栈式的解决方案。
在此背景下,UCloud 于近日新推出一款基于 RTC 技术的实时音视频产品 URTC,依托 UCloud 强大的计算能力和网络覆盖,可以为用户提供就近接入 (全球 500 + 加速节点)、高质量(可用性达 99.99%)、抗弱网 (30% 视频丢包、70% 音频丢包仍可正常通信)、低延迟 (国内平均时延 70ms、国际平均时延不超过 300ms) 的网络音视频通信,并支持万人直播推送。
全球实时传输,抗弱网低延时
基于 UCloud 在全球部署的 30 个可用区、28 条专线、500 + 加速节点,URTC 可提供全球覆盖的音视频服务,国内平均时延 70ms,国际平均时延不超过 300ms。通过全球接入点就近接入、自研 HTTPDNS 调度算法、丢包重传,实现弱网高质量通信,30% 视频丢包、70% 音频丢包仍可正常通信。70% 丢包下 URTC 经过网络传输后播放出来的音频效果如下,凭借其抗丢包能力仍可较完整地展现人声:
URTC 底层网络全部覆盖 BGP 线路,利用边缘节点就近接入,通过数据报文 AES 加密传输、端到端链路质量探测、多点接入线路容灾等保障其可用性达 99.99%。针对传输网络,UCloud 做了以下优化。
- 抗网络抖动:URTC 通过智能动态缓冲区策略,根据网络的变化动态调整缓冲区大小,抵抗网络抖动,最大支持 800ms 网络抗抖动。
- 抗网络丢包:URTC 通过 NACK+FEC+ARQ 智能重传策略抵抗丢包,通过动态调整重传和冗余数据比例,实现在通话质量和网络延时之间达到很好的平衡。同时 URTC 会对数据进行重要分类,保证重要数据优先,稳定传输,同时实现传输的公平性和稳定性。
- 避免网络拥塞:利用线性回归方式,通过延时的斜率变化预测拥塞的发生和网络的变化,URTC 能做到更早发现网络拥塞、更早避免网络丢包、更早适应网络变化。
多功能一体化,简单易用
传统方式下,要在 APP 应用上自研音视频功能,不仅需要开发人员具备基础的音视频编码、解码技术,还需要应对复杂的网络架构问题。从服务器设备的部署、开发到后期的运维都耗时耗力,且难以保障服务质量,因此对企业自身的技术门槛要求越来越高,这对于很多初创企业用户而言无疑是巨大的挑战。
URTC 以 SDK 包的形式一键集成了音视频采集、编码、传输、解码、渲染、前后处理(如美颜、滤镜、回声消除、噪声抑制)功能,且可以扩展服务端、客户端的全部应用例如互动白板、转码、混流、录制等。由于其 SDK 接口接近主流 RTC 两级 SDK 快速模式,开发者只需要很少的代码就可以实现快速接入,简单易上手。
同时 URTC 支持 Android、iOS、Mac OS、Windows、Electron、WEB 多平台的接入,能满足不同客户端的接入需求。
支持万人直播推送
URTC 利用 RTC 实时集群、RTC 直播集群,实现音视频连麦互动可以同时推送万人直播,具体原理如下。
业务服务
URTC 在实现上主要包括控制流通信服务、实时互动集群(15 人以内房间)、低延时直播集群(万人大群)3 种服务集群。
控制流通信服务提供流状态、流位置汇报,以及流订阅和发布的控制;实时互动集群主要负责 15 人以内的双向实时互动服务;低延时直播集群提供单向的万人低延时直播观看。媒体服务之间以及和转码录制集群通过自研私有 UDP 协议进行传输。
底层网络
依托于 UCloud 全球加速网络 Rome,通过专线服务,优化跨区域、跨洋通信问题,提供更低的延时,更优质的传输质量和通话体验。
(图:Rome 公网加速)
服务灾备
基于 Rome 的多线多云灾备能力,同时在单点服务故障时实现故障自动转移,提供更稳定的服务。
打破地域限制,助力在线教育
随着互联网技术的高速发展,不受地域和时间限制的在线教育逐渐成为很多人学习、进修的选择。为了保障不同地域学生的在线学习体验,提升在线课堂的品质,在线教育对音视频应用服务的质量也提出了更高的要求。
URTC 高质量、抗弱网、低延迟的优异性能,能满足在线教育对于音视频服务的基本需求。通过 UCloud 自研和优化的 webrtc 架构,URTC 具有一对一、一对多、多对多的音视频通话功能。既能满足 1V1、小班课、双师课堂,也能满足视频互动大班课、万人直播课。
互动演示文稿、互动白板,为师生学习、讨论提供交流的平台,且老师、学生可以在各自的白板内实时批注交流。白板内容支持录制、存储、回放,满足课堂教学、实时讨论、课后复习的需要。IM 聊天室支持老师设置全员禁言,让学生们集中注意听讲也可以发布讨论话题,让学生们畅所欲言。
(图:互动白板界面)
除了在线教育外,URTC 还可以广泛应用于智能家居、远程医疗、视频会议、娱乐直播、安防监控等场景。在实时音视频领域,UCloud 将围绕用户的场景和痛点不断丰富 URTC 产品特性,提供低延时、高可靠、安全稳定的音视频解决方案。为了让每个视频的通信质量、实时状态能够实时监测,也便于快速定位排障,URTC 近期将支持可视化运维面板,敬请期待。
免费体验 URTC
为了帮助开发者更直观体验 URTC 在弱网环境下的抗丢包效果,这里给大家介绍一个网损测试方法,具体操作步骤如下:
1. 开源弱网模拟软件(网损软件)Clumsy 下载:https://github.com/jagt/clumsy/releases
2. URTC demo 下载:https://github.com/ucloud/urtc-win-demo
3. 编译 URTC demo: 需要 Visual Studio 2015 以及 Windows10 SDK
4. 运行两个 demo 客户端:一个订阅和一个发布
5. 打开并设置网损软件 如下图:
- 设置网损方向(sending 代表上传丢包 receiving 代表下载丢包)
- 设置丢包:确认 drop 选项被选中,一遍开启丢包功能,后面设置丢包为 70%(取值 0.0 – 100.0)
- 点击开始,启动网损设置,软件开始运行:
6. 测试效果
- 依靠人耳去听;
- 实现 UCloudRtcAudioFrameCallback,通过 onRemoteMixAudioFrame 接口获取远端音频 pcm 数据,然后进行波形对比。
目前 URTC 每月 1 万分钟内免费,超出配额范围的计费方式如图所示
349 thoughts on “URTC 支持万人直播的一站式实时音视频解决方案”