Group 1219

博客

Search
Vector 10
Microsoft Teams Image 460 Ee0d9c08ad

通过 Zenlayer 构建全球 RTC 基础设施——第 1 部分:什么是 RTC?

作者简介

Jeff Ji 是 Zenlayer 的产品解决方案经理。他在云和基础设施解决方案领域拥有近十年的经验,热衷于帮助来自各行各业的客户实现业务保障并推动新的创新。杰夫一直在寻找新的方式,为我们的客户及其用户创造更多价值。

引言

我们正处于视频的时代!研究表明,2022 年视频使用量增长了 24%,如今占据了所有互联网流量的 65%。视频正在深刻地改变着我们的生活方式、沟通方式、娱乐偏好,甚至知识结构。

实时通信(RTC)技术的最新进展使视频比以往任何时候都更加易于获取和互动。

在本文的两部分系列中,我们将探讨 RTC 如何使实时交互式视频成为可能,以及 Zenlayer 如何帮助构建强大且灵活的全球 RTC 服务基础设施。阅读第一部分,其中包括对 RTC 的概述、技术分析和常见使用场景。

了解 RTC

与许多同事一样,我下班后经常浏览短视频来放松自己。最近,我发现我可以与朋友同步观看短视频。即使我和朋友们身处不同地方,我们仍然可以像在同一房间一样聊天和一起观看视频。

互动视频内容广泛出现在各类社交和娱乐应用中,如在线办公、远程会议、在线教育、在线卡拉 OK、云游戏等。此外,实时通信(RTC)已成为元宇宙不可或缺的技术,元宇宙需要超低延迟以提供沉浸式体验。这些新型互动应用通过利用实时音视频技术,使用户体验更加快速、直接和吸引人。

那么,是什么让互动视频内容成为可能呢?这都要归功于网络连通性和实时通信技术。现在,用户可以在任何时间、任何地点观看和互动,无需下载内容或等待加载。

 

RTC 与传统直播有何不同?

传统直播主要特点是单向视频且缺乏观众互动,通常用于娱乐、电商和新闻等场景。它的平均延迟在 3-5 秒左右。

而 RTC 支持 PaaS 和 SaaS 架构,主要用于一对一和一对多的主持人连接,如视频通话、视频会议、在线教育等场景,这些场景对低延迟和用户参与度有较高要求。大多数音视频社交应用都是基于 RTC 技术构建的。RTC 的延迟要求通常低于 400 毫秒(ms),其中 200-300毫秒(ms)是最佳的。而像远程控制和云游戏这样需要瞬间交互的场景,可能还需要更低的延迟,有时甚至低至几十毫秒。

简言之,RTC 提供了更实时、更互动的体验,满足了现代通信和娱乐应用对速度和参与度的需求。

Graphical user interface, application Description automatically generated

 

 

RTC 的技术与应用

网状结构

你可能对传统直播架构有所了解,它采用类似树状的结构,包括源节点、次级节点和边缘节点。在这种架构中,视频流需要依次通过每个节点进行传输,每个节点都会引入一定的延迟。

而 RTC 则采用了网状结构,其中所有节点地位平等,都可以向下游转发数据包。这种结构允许根据参与者的实时状态和位置进行路径优化和采用各种策略,减少了中间步骤的数量,从而降低了延迟。

通过网状结构,RTC 能够更有效地处理实时通信中的各种问题,为用户提供了更加流畅、快速的音视频体验。无论是在视频会议、在线教育还是其他需要实时互动的场景中,RTC 都发挥着至关重要的作用。

A picture containing diagram, plan, line, origami Description automatically generated

 

协议选择

RTC 依赖于协议或规则来确定数据如何在互联网上传输。传统的直播视频流通常基于 RTMP、HLS、DASH 等协议,它们都属于 TCP 协议类别。即使经过优化,它们的延迟也大约在 2-3 秒左右。

相比之下,基于 UDP 的开源 WebRTC 项目已经将延迟大幅降低到毫秒级别。与其他协议不同,WebRTC 是一个流媒体通信框架,涵盖了实时音视频的音频和视频捕获、编码和解码、传输和渲染的整个过程。

WebRTC 的实时性和低延迟特性使其非常适合于需要高度互动和即时反馈的应用场景,如视频通话、视频会议和在线教育等。通过选择适当的协议,RTC 技术能够提供更加流畅、高效的音视频通信体验。

Chart Description automatically generated with medium confidence

TCP 是一种可靠的传输协议,它牺牲实时传输以换取数据的完整性。在弱网络环境下,TCP 在数据传输前进行的“三次握手”连接可能会导致显著的延迟。

UDP 的优势在于高实时性能,但它不保证数据的到达和顺序,因此可靠性较低。尽管如此,实时音视频服务往往使用 UDP 作为传输层协议。例如,Agora 自主研发的传输层协议 AUT 在协议和算法层面对 UDP 进行了优化,以提高传输的可靠性和逻辑性。

通过结合 TCP 和 UDP 的特点,并在应用层进行适当的优化,RTC 技术能够在保证一定可靠性的同时,实现低延迟和高实时性的音视频传输,为用户提供更好的通信体验。

实时网络(RTN)

除了选择合适的协议,还需要构建一个合适的网络来支持 RTC。

实时网络(RTN)是一种专为实时通信设计的稳定、高质量的传输网络。它建立在公共互联网或专用线路之上,使用软件定义网络(SDN)进行网络虚拟化,并专注于通信路由计算和链路异常的故障恢复。其控制平面主要负责网络质量检测、路径规划和规则配置管理。数据平面则负责数据传输和转发,扮演边缘节点和中间节点的角色。

基于去中心化的架构,实时音视频传输网络允许最终用户从附近的边缘节点接入。通过使用智能路由算法实时计算最优传输路径,它有效地解决了路由链路和带宽成本问题。

RTN 的出现为实时音视频通信提供了更加高效、稳定的网络支持,使得 RTC 技术能够更好地满足各种应用场景的需求,为用户提供更加流畅、高质量的通信体验。

RTC 的应用场景

为了演示整个 RTC 架构,我们来看一个典型场景,即主持人与嘉宾之间的实时互动直播。

• 在这个场景中,角色包括主持人、嘉宾和观众,其中嘉宾可以是同一房间的观众或其他房间的主持人。
• 在互动场景中,主持人和已连接用户的音视频流被推送到 RTC 服务器。
• 互动音视频内容在另一台服务器上混合成一条音视频流,经过转码后推送到CDN服务器供观众观看。
• 一旦观众请求观看直播得到批准,他们的 CDN 地址将被切换为 RTC 地址以进行互动。

RTC 通常与内容分发网络(CDN)结合使用,其中 RTC 作为基础,CDN  作为补充。RTC 确保主持人和嘉宾互动的延迟在 200-400 毫秒内。在观众端,CDN 可以支持数千名观众同时观看,解决了 RTC 技术中高并发性的挑战。

与 RTC 相比,CDN 相对便宜,适合那些不需要高频互动、可以容忍一些延迟的观众。

A picture containing logo Description automatically generated

当然,实时互动音视频技术为“分发”和“计算”——或者说是分布式计算——带来了巨大的需求。

从分发的角度来看,RTN 网络上实时音视频产生的流量和带宽不断增加,全球用户对于直播播放的流畅度要求也越来越高。同时,云游戏、4K/8K、AR/VR/XR 等高流量应用的交互需求也在不断增长。

从计算的角度来看,RTC 节点和 CDN 是典型的全球边缘部署的资源架构。在未来,视频转码处理和 AI 分析可能需要更高的比特率或巨大的计算能力。

因此,随着实时互动音视频技术的发展和应用场景的不断拓展,分布式计算将扮演着越来越重要的角色,以满足不断增长的数据处理和分析需求,为用户提供更加流畅、高质量的通信体验。

RTC 完整的应用流程

以视频互动为例,在我们体验无缝视频通话的背后,有一系列的技术组件支持着顺畅的通信、清晰的视觉,甚至是让我们看起来更迷人的滤镜。

RTC 应用的业务流程包括视频捕获、视频预处理(如低光增强、美颜、AI 处理等)以及根据特定设备条件进行的自适应视频编码。视频在封装成 RTP 协议后,发送到应用的服务器。

此时,应用运营者需要考虑如何让用户能够顺畅且高效地发送视频。这就需要通过协议优化等手段来对抗网络状况不佳的情况。全球各地的用户随后将视频上传至各自地区的 RTC 节点服务器。

为了实现全球用户的互动,需要构建一个全球实时传输网络。基于不同的互动和非互动需求,视频随后进行混合、转码,并推送到 CDN 以传递给观众,或者直接连接到互动用户。

在这个过程中,还需要注意确保数据的安全性和隐私保护,特别是在处理敏感信息时。同时,为了提供最佳的用户体验,还应对整个流程进行持续监控和优化,确保视频质量和通信的流畅性。

A picture containing text, font, diagram, line Description automatically generated

 

敬请期待第 2 部份内容…

分享:

下载白皮书