跳到主要内容
实时与点对点

WebRTC 与点对点开发

我们构建实时与点对点系统:在严苛网络中让两台机器直接连通,将时延控制得足以支持实时交互,并在无法建立直连时回退到经过身份验证的中继。

包含内容

这里所说的实时、点对点意味着什么

让两台设备直接连通比看上去难得多:大多数设备都处在拒绝未经请求流量的 NAT 与防火墙之后。我们构建完整的连接路径,包括 NAT 穿透、建立连接所需的协调,以及在无法直连时使用的、经过身份验证的中继。

服务范围
  • 穿越 NAT 与防火墙的直接点对点连接
  • 会话协调:谁在何时连接谁
  • 面向受限网络的、经过身份验证的中继回退
  • 对等端之间经过加密、身份经过验证的传输
  • 低时延的音频、视频与数据通道
  • 可根据实时网络状况调整的自适应码率
我们的工作方式

我们如何构建实时系统

我们按您实际面对的网络来设计,而不是按图纸上的理想网络。真实网络会丢包,上下行不对称,中间还隔着各种中间盒。每一层都在真实条件下测量。

  1. 1

    连通性建模

    我们先摸清您网络的真实情况,包括各种 NAT 行为、防火墙、需要走中继的用户占比,再据此设计连接策略。

  2. 2

    协调与传输

    由信令服务协调对等端;传输经过加密、身份经过验证,并以经过身份验证的中继作为回退。

  3. 3

    媒体流水线

    在涉及实时媒体时,编解码会根据链路的带宽与时延自适应调整画质。

  4. 4

    韧性测试

    我们在常见的各类 NAT 与劣化链路上进行测试,确认当直连失败时中继回退能够干净利落地启用。

  5. 5

    运营与观测

    围绕连接成功率、回退率与流质量的指标,让您看清系统在真实环境中的表现,而不只是在实验室里。

交付物

您将获得

一个能在真实互联网上运作的连通性层,配以可证明其表现的可观测性,以及供您接管的文档。

您将获得
  • 一个带 NAT 穿透与中继回退的点对点连接层
  • 一个用于会话与对等端协调的信令服务
  • 对等端之间经过加密、身份经过验证的传输
  • 在需要实时音视频处的、带自适应码率的媒体路径
  • 接入到位的连接成功率与回退率指标
  • 架构文档,以及面向您团队的交接
技术栈与方法

我们如何构建连通性层

RustNAT 穿透信令经过身份验证的中继加密传输自适应码率媒体

我们根据您网络的真实情况设计连通层:网络允许时直接连通,不允许时经由经过身份验证的中继。每次会话都经过加密,每一方的身份都经过验证。

常见问题

实时与 P2P 常见问题

所有连接都会走点对点吗?

大多数可以,但并非所有网络都允许直连。可靠的设计会在网络允许时直接连通,否则经由经过身份验证的中继连接。这样即便无法实现真正的点对点,连接依然稳定。

这和使用托管的 WebRTC 服务是一回事吗?

WebRTC 是一套构建模块;托管服务则用别人的信令、中继与定价把它们包装起来。我们既可以在合适处基于 WebRTC 构建,也可以在您需要掌控传输、中继及数据流向时直接实现连通性层。我们会根据您在时延、成本与数据驻留方面的需求,推荐更合适的那一种。

你们如何保障对等端连接的安全?

传输经过加密,身份经过验证,因此在任何数据传输之前,双方都能确认对方究竟是谁,中间人无法悄悄插入。使用中继时,中继本身也经过身份验证,并不是一条开放的通道。

在糟糕的连接下能保持媒体流畅吗?

可以。我们构建可根据实时带宽与往返时延作出反应的自适应码率阶梯,仅在必要时才以画面细节换取流畅。媒体流会实时为当前链路选择合适的 codec 与码率。

连接设备,是我们的主场.

告诉我们哪些设备需要互相通信、中间隔着怎样的网络,我们会为您设计一条经得起考验的连接。