Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

はじめに

最終更新 Markdown で表示Agent セットアップ

Cloudflare Realtime を使うと、リアルタイムの音声、映像、データをアプリケーションに追加できます。Cloudflare Realtime は WebRTC を使います。ブラウザ、モバイル、ネイティブアプリなど幅広いプラットフォームで、最も低遅延に通信できる方式です。

Realtime はバックエンドとフロントエンドのアプリケーションと連携し、リアルタイム機能を追加します。

Cloudflare Realtime が存在する理由

  • WebRTC のスケールは難しい: WebRTC サーバーのスケールに苦労するケースは多くあります。同じ「ルーム」に何人まで入れるかといった問題に直面したり、既存の高レベル API の考え方に合わない独自の仕組みを作りたい場合があります。

  • 高い egress コスト: マネージドソリューションはクラウドの egress に高いプレミアムを上乗せするため、WebRTC の利用は高額になりがちです。自前でサーバーを運用すると、システム管理とスケールの負荷がかかります。Cloudflare はすでに 300 以上の拠点を持ち、一部では 1,000 台を超えるサーバーを運用しています。Cloudflare Realtime はこのアーキテクチャの上で容易にスケールし、最も低い WebRTC 利用コストを提供できます。

  • WebRTC は広がっている: 開発者は、WebRTC がビデオ会議だけのものではないと気づき始めています。WebRTC は多くのプラットフォームでサポートされ、成熟してよく理解されています。

Cloudflare Realtime がユニークな点

  • 意見を押しつけない: Cloudflare Realtime は SDK を提供しません。代わりに生の WebRTC にアクセスでき、既存の考え方に収まらない独自の課題を解けます。API は意図してシンプルです。

  • ルームがない: 他の WebRTC 製品と違い、Cloudflare Realtime はルームなどの抽象化ではなく、各トラック(音声 / 映像 / データ)を自分で制御できます。シンプルな pub/sub の上にプレゼンスプロトコルを定義します。各エンドユーザーは、音声 / 映像 / データトラックを自由に publish / subscribe できます。

  • ロックインがない: Cloudflare Realtime で SFU のスケール課題を解けます。ピアツーピア構成と組み合わせることもできます。Cloudflare Realtime を単独で使うこともできます。どこまで使うかは自分で決められます。

Cloudflare Realtime が具体的に行うこと

  • SFU: Realtime は、特定のデータを購読するクライアントへメディアデータを転送するのが得意な、特殊な pub/sub サーバーです。各クライアントは WebRTC で Cloudflare Realtime に接続し、WebRTC を使ってデータを送信、受信、またはその両方を行います。対象は音声 / 映像トラックや DataChannels です。

  • スケールする: Cloudflare のサーバーはすべて 1 台のサーバーのように動作するため、数百万の WebRTC クライアントが Cloudflare Realtime に接続できます。各クライアントは、ほかのクライアントとデータを送信、受信、またはその両方を行えます。

多くの開発者が始める手順

  1. echo の例から始めます。Realtime App を作成したときの Cloudflare ダッシュボード、または demos からダウンロードできます。音声と映像の送受信方法がわかります。

  2. セッション ID とトラック ID を受け渡して、誰がどのメディアを受信できるかを制御する方法を理解します。誰がどのメディアを受信するかは、自分で制御します。各メディアトラックは一意の ID で表されます。この ID の保存と配布は、自分の責任です。

  1. Cloudflare Realtime への各接続と、接続ごとに作成されるトラック ID を管理するアプリを作ります。トラックの保存と共有には、任意のツールを使えます。トラック ID の管理に Workers Durable Objects を使う本格的なビデオ会議アプリ Orange Meets など、demos のサンプルアプリを確認してください。

役に立ちましたか?