跳转到内容
搜索文档

介绍

最后更新 查看 MarkdownAgent 设置

Cloudflare Realtime 可用于向您的应用程序中添加实时音频、视频和数据。Cloudflare Realtime 使用 WebRTC,这是在浏览器、移动端和原生应用等广泛平台上进行通信的最低延迟方式。

Realtime 与您的后端和前端应用程序集成,以添加实时功能。

为什么存在 Cloudflare Realtime

  • WebRTC 难以扩展:许多人在扩展 WebRTC 服务器时遇到困难。运营商会遇到同一个“房间”可以容纳多少用户的问题,或者希望构建不符合当前高级 API 概念的独特解决方案。

  • 高昂的出网(egress)成本:使用 WebRTC 的成本很高,因为托管解决方案对云出网流量收取高额溢价,而运行自己的服务器则会带来系统管理和扩展开销。Cloudflare 已经拥有 300 多个地点,在某些地点甚至拥有 1000 多台服务器。Cloudflare Realtime 在此架构之上轻松扩展,可以提供最低的 WebRTC 使用成本。

  • WebRTC 正在成长:开发人员正意识到 WebRTC 不仅仅用于视频会议。WebRTC 在许多平台上都得到支持,技术成熟且已被深入理解。

是什么让 Cloudflare Realtime 独一无二

  • 不设限(Unopinionated):Cloudflare Realtime 不提供 SDK。相反,它允许您访问原始 WebRTC 来解决可能不适合现有概念的独特问题。该 API 刻意保持简单。

  • 无房间概念:与其他 WebRTC 产品不同,Cloudflare Realtime 允许您控制每个轨道 (track)(音频/视频/数据),而不是提供房间之类的抽象。您在简单的发布/订阅 (pub/sub) 之上定义呈现协议。每个终端用户都可以根据需要发布和订阅音频/视频/数据轨道。

  • 无绑定:您可以使用 Cloudflare Realtime 来解决您的 SFU 的可扩展性问题。您可以将其与点对点(peer-to-peer)架构结合使用。您可以独立使用 Cloudflare Realtime。使用 Cloudflare Realtime 的程度完全取决于您。

Cloudflare Realtime 到底能做什么?

  • SFU:Realtime 是一种特殊的发布/订阅 (pub/sub) 服务器,擅长将媒体数据转发给订阅特定数据的客户端。每个客户端通过 WebRTC 连接到 Cloudflare Realtime,并使用 WebRTC 发送数据、接收数据或两者兼有。这可以是音频/视频轨道或 DataChannels。

  • 可扩展:所有 Cloudflare 服务器都作为一个单一服务器运行,因此数百万 WebRTC 客户端可以连接到 Cloudflare Realtime。每个客户端都可以与其他客户端一起发送数据、接收数据或两者兼有。

大多数开发人员如何开始

  1. 从 echo 示例开始,您可以在创建 Realtime App 时从 Cloudflare 仪表板下载它,也可以从演示中下载。这将向您展示如何发送和接收音频及视频。

  2. 了解如何通过传递会话 (session) 和轨道 (track) ID 来操作谁可以接收什么媒体。请记住,您可以控制谁接收什么媒体。每个媒体轨道都由一个唯一 ID 表示。保存和分发此 ID 是您的责任。

  1. 创建一个应用程序,在其中管理到 Cloudflare Realtime 的每个连接以及由每个连接创建的轨道 ID。您可以使用任何工具来保存和共享轨道。查看演示处的示例应用程序,例如 Orange Meets,它是一个成熟的视频会议应用程序,使用 Workers Durable Objects 来跟踪轨道 ID。

这篇文档对您有帮助吗?