新規投稿のお知らせを受信されたい方は、サブスクリプションをご登録ください:

Cloudflare RealtimeとRealtimeKitでアプリを本当の意味でインタラクティブに

2025-04-09

7分で読了
この投稿はEnglish繁體中文FrançaisDeutsch한국어Español简体中文でも表示されます。

ここ数年、開発者はリアルタイムコミュニケーションで実現可能なものの限界を押し広げてきました。共同作業のためのツールや大規模なオンラインウォッチパーティ、インタラクティブなライブ授業などで、急速に普及しています。

日常生活でもAIを利用することが増えました。テキストベースのインタラクションはより自然なもの(音声や動画)へ進化しています。AI開発者が作成するアプリケーションやツールとユーザーがやり取りする際は、高レベルの応答速度と接続品質が期待されます。複雑なAIアプリは、1つのツールだけでなく複数のツールを組み合わせて構築されており、それらのツールを提供するプロバイダーが異なる場合も多いため、接続先の多いクラウドが間に入って調整する必要があります。

開発者は既にWorkersWorkers AI、WebRTC SFUサービスやTURNサービスを使っており、コンピュートサービスやメディアサービスがユーザーに最も近くなるよう調整することを考える必要なく、強力なアプリを構築しています。リアルタイムアプリケーションに「リージョン:地球」しかないのは当然のことです。

Cloudflare Realtimeをご紹介できることを嬉しく思います。Cloudflare Realtimeは、リアルタイムの音声・動画体験を実現してアプリを真にインタラクティブにするのに役立つ製品スイートです。Cloudflare Realtimeによって、SFU、STUN、TURNのサービスと新しいRealtimeKitが統合されました。

RealtimeKitが登場

RealtimeKitは、モバイルSDK(iOS、Android、React Native、Flutter)、Web向けSDK(React、Angular、vanilla JS、WebComponents)、サーバーサイドサービス(録画、調整、文字起こし)をまとめたもので、これを使うとリアルタイムの音声、動画、AIアプリケーションの構築がかつてなく簡単になります。また、このキットには、インターフェースを迅速に構築するためのユーザーインターフェースコンポーネントも含まれています。

リアルタイムエコシステムのリーディングカンパニーであるDyteを支える優秀なチームがCloudflareに加わり、RealtimeKitの開発を加速させました。Dyteチームは長年、あらゆるスキルレベルの開発者がリアルタイム体験にアクセスできるようにすることに注力しており、開発者の開発や成長の過程を深く理解していました。そして、WebRTCのパワーを失うことなく複雑さを隠す抽象化を行ったのです。

既にCloudflare製品のユーザーであったDyteは、世界300都市以上に広がるCloudflareの既存のリアルタイムインフラストラクチャを補完するものとして完璧でした。複雑なメディア機能をアクセス可能にする開発者体験レイヤーを構築しました。CloudflareはDyteチームの参加を大歓迎し、開発者がリアルタイムアプリケーションのユーザーインタラクションの未来を定義できるよう、一丸となって支援していきたいと思います。

インタラクティブなアプリにWebRTCの専門知識は不要

「ビデオチャットを追加しましょう」の一言で始まったものが瞬く間にエスカレートして、WebSocketsとWebRTCの技術的詳細を調べるのに何週間もかける羽目になる開発者は少なくありません。私たちはWebRTCの可能性を強く信じていますが、初めて構築する時には難題が付き物だということも認識しています。WebRTCセッションのデバッグをするのに、開発者はICE 候補収集失敗の回避TURNサーバー設定SDPネゴシエーションの問題などの難解な新概念について学ぶ必要があるかもしれません。

初めてWebRTCアプリを構築する際の課題は、それだけではありません。デバイス管理も作業を一層複雑にする要素です。ブラウザやモバイルプラットフォーム間でカメラとマイクのAPIが一貫していないと、本番環境で予期せぬ動作が起こる可能性があります。解像度変更の方法もChromeとSafariでは異なりますし、Android WebViewは切れ方が独特でイライラします。テスト環境では完璧に機能するアプリケーションが、特定のデバイスやブラウザにデプロイするとなぜかうまく機能しないということも、よくあります。

テストユーザーが5人なら正常に機能するシステムが、実世界ユーザー50人の負荷で崩壊します。帯域幅の適応がおぼつかず、接続管理が難しく、多様なネットワーク条件で一貫した品質を維持することは専門知識なしにはほぼ不可能になります。

単純な機能追加として始まったものが、ビジネスのコアでない問題の解決に低レベルのエンジニアリングを必要とする数か月に及ぶプロジェクトになります。

こうした問題を解決するために当社の製品をクライアントデバイスにも拡張する必要があると、私たちは考えました。

Kotlin、React Native、Swift、JavaScript、FlutterのためのRealtimeKit SDK

RealtimeKitは、よくあるWebRTCの問題に頭を悩ませることなくリアルタイムアプリケーションを構築するためのツールキットです。RealtimeKitの中核は、セッション確立、メディア許可、NATトラバーサル、接続管理など、低レベルの複雑な処理をすべて扱うクロスプラットフォームSDK一式です。そうした基盤の実装とデバッグに何週間も費やす代わりに、ユーザーのために独自のエクスペリエンスを創出することに専念できます。

リアルタイムアプリケーションで要望が多いのに実装が難しいものの1つ、録画機能が組み込まれています。コンプライアンスのために会議をキャプチャする、ライブで参加できなかった学生のためにバーチャル授業を保存する、コンテンツクリエーターがストリームをアーカイブできるようにするなど、ニーズが何であれ、RealtimeKitはメディアパイプライン全体に対応しています。MediaRecorder APIで苦労したり、カスタムの録画インフラストラクチャを構築したりことはもはやなく、ユーザーベースに応じて拡張してうまく機能します。

また、ElevenLabsなどのプロバイダーが提供する音声AI機能を、プラットフォームに直接統合しました。AIの参加者を会話に追加することが関数呼び出しのように簡単になり、まったく新しい対話モデルが生まれます。これらのAI音声は、人間の参加者と同じ低遅延(当社のグローバルネットワーク全体で数十ミリ秒)で動作し、AIと人間が自然に会話できる真に同期した体験を実現します。同時参加者数百万人にまでスケールアップするRealtimeKitの能力との組み合わせによって、これまでは実現不可能だったまったく新しいカテゴリーのアプリケーションが可能になります。

開発者体験

RealtimeKitは、基本となるプロトコルの仕組みではなく、開発者が何を達成したいかに重点を置いています。APIを呼び出すだけで、参加者を追加したり録画をオンにしたりできます。SDKは、デバイスの列挙、許可リクエスト、プラットフォーム間でのUIレンダリングを処理します。その背後では、デバッグが困難なメディアオーケストレーションと状態管理の厄介な問題も解決しています。

私たちは何年も前から、Cloudflare RealtimeKitのローンチに向けてひそかに取り組んできました。当社のグローバルネットワークは、当社ネットワークとエンドユーザーの間の遅延を最小限に抑えるために最初から最適化されています。ネットワークとエンドユーザーの間は、ネットワークの中断の大部分が発生するところです。

当社は、参加者間のメディアストリームをインテリジェントにルーティングし、ネットワークの状況に応じて品質を動的に調整する選択的転送ユニット(SFU)を開発しました。当社のTURNインフラストラクチャは、NATトラバーサルという複雑な問題を解決し、ファイアウォールの背後で確実に接続を確立できるようにします。Workers AIで推論機能をエッジに移し、AIを活用したインタラクションの遅延を最小限に抑えました。WorkersとDurable Objectsが、参加者間で一貫した状態を維持するために必要なWebSockets調整レイヤーを提供しています。

SFUサービスとTURNサービスを一般公開

私たちは、 Cloudflareネットワークとの低レベル統合と制御強化を必要とするWebRTC開発者向けに、SFUサービスとTURNサービスを一般公開(GA)することも発表します。

SFUは、要望の多いサイマルキャストをサポートするようになりました。Simulcastでは、開発者が複数のオプションからメディアストリームを選択することができます。オンライン動画の品質レベルを選択するのと似ていますが、WebRTC向けです。ネットワーク品質が異なるユーザーが、異なるレベルの品質を選べるようになりました。レベルはSFUによって自動定義するか、手動で選択できます。

TURNサービスは現在、地域、国、都市レベルの利用状況の指標について高度な分析とインサイトを提供しています。CloudflareのTURNサービスは、カスタム識別子、取り消し可能なトークンとともに、使用状況を詳細に表示し、不正使用の回避に役立ちます。

当社のSFU製品とTURN製品は、毎月1,000GBの無料枠が設けられ、以降は1GBあたり5セントと、WebRTCアプリケーションを大規模に構築するための最も手頃な方法の1つです。

Hugging Faceとの提携でリアルタイムAI通信がシームレスに

FastRTCはHugging Faceが提供する軽量のPythonライブラリで、WebRTCを使用してAIモデルにリアルタイムの音声や動画の双方向ストリーミングを簡単に行えるようにします。TURNサーバーはWebRTCのインフラストラクチャの重要な部分であり、メディアストリームがファイアウォールとNATを介して確実に接続できるようにします。FastRTCのユーザーの場合、グローバルに分散したTURNサーバーのセットアップは複雑で高コストになる可能性があります。

Hugging Faceとの新たなパートナーシップにより、FastRTCユーザーはCloudflareのTURN Server製品に無料でアクセスでき、すぐに信頼性の高い接続が得られるようになりました。開発者は、Hugging Faceのアクセストークンを使って毎月10GBのTURN帯域幅を得ることができます。セットアップも、クレジットカードも、サーバー管理も必要ありません。プロジェクトが拡大するにつれて、容量が大きく無料枠も大きなCloudflareアカウントに簡単に切り替えることができます。

この統合により、AI開発者はNATトラバーサルやネットワークの信頼性を気にすることなく、音声インターフェース、動画パイプライン、マルチモーダルアプリの構築に集中できます。FastRTCがコードを簡素化し、Cloudflareがそれがどこでも機能するようにします。まずはこちらのデモをご覧ください。

AIを活用したリアルタイムアプリを数週間ではなく数日で出荷

開発者はRealtimeKitを使って複雑なリアルタイム体験を数時間で実装できるようになりました。SDKは、WebRTC開発の最も時間のかかる部分を抽象化し、一般的な実装パターンに合わせたAPIを提供します。以下にその活用例をいくつかご紹介します:

  • ビデオ会議:わずか数行のコードで、グループビデオ通話をアプリケーションに追加できます。通常は開発に何週間もかかる接続管理、帯域幅適応、デバイス許可を、RealtimeKitで処理します。

  • ライブストリーミング:インタラクティブな配信を構築して、ホストが数千人の視聴者に配信しながら、参加者を選択的に画面上に表示できるようにします。SFUは、参加者の役割とネットワークの状況に基づいて、メディアルーティングを自動的に最適化します。

  • リアルタイム同期:コンテンツ再生がすべての参加者で同期された状態を維持するように、ウォッチパーティや共同視聴体験を実装します。タイミングAPIが、従来必要とされる複雑な遅延の計算と調整を行います。

  • 音声AIの統合:カスタムのメディアパイプラインを構築することなく、文字起こしやAIの音声参加者を追加できます。RealtimeKitのメディア処理APIは、既存の認証システムやストレージシステムと統合するため、別途のインフラストラクチャは必要ありません。

初期のテスターがRealtimeKitを使っているのを見ましたが、既存プロジェクトが加速するだけでなく、どのプロジェクトが実現可能かが根本的に変わります。

RealtimeKitの利用を始めましょう

本日より、Cloudflareダッシュボードに新たにリアルタイムのセクションが追加されます。このセクションには、TURN製品とSFU製品、そして最新製品のRealtimeKitが含まれます。

RealtimeKitは現在クローズドベータ版で、一部のお客様にお試しいただく準備が整っています。現在、ベータ版のお試しは無料です。こちらから、またはCloudflareダッシュボードにあるリンクから、早期アクセスをリクエストしてください。皆さんがどんなものを構築されるのか、楽しみにしています。

Cloudflareは企業ネットワーク全体を保護し、お客様がインターネット規模のアプリケーションを効率的に構築し、あらゆるWebサイトやインターネットアプリケーションを高速化し、DDoS攻撃を退けハッカーの侵入を防ぎゼロトラスト導入を推進できるようお手伝いしています。

ご使用のデバイスから1.1.1.1 にアクセスし、インターネットを高速化し安全性を高めるCloudflareの無料アプリをご利用ください。

より良いインターネットの構築支援という当社の使命について、詳しくはこちらをご覧ください。新たなキャリアの方向性を模索中の方は、当社の求人情報をご覧ください。
Developer WeekWebRTCCloudflare CallsリアルタイムTURNサーバー

Xでフォロー

Zaid Farooqui|@zaid
Will Allen|@williamallen
Cloudflare|@cloudflare

関連ブログ投稿