Media Transport Adapters は、WebRTC とその他のトランスポートプロトコルを橋渡しします。アダプターはプロトコル変換、コーデックのトランスコーディング、WebRTC セッションと外部エンドポイント間の双方向メディアフローを扱います。
アダプターは、Realtime を WebRTC 同士の通信以外にも広げます。
- 外部ソースの音声・映像を WebRTC セッションへ取り込みます
- WebRTC メディアを処理や保存のために外部システムへストリーミングします
- 文字起こし、翻訳、生成などの AI サービスと連携します
- WebRTC アプリケーションとレガシーな通信システムを接続します
WebRTC トラックと WebSocket エンドポイントのあいだで音声と映像をストリーミングします。映像は送信(egress)のみで、JPEG に変換されます。現在はベータです。API は変わることがあります。
Media Transport Adapters は、Cloudflare Realtime SFU セッションと外部エンドポイントの仲介として動作します。
graph LR
A[WebRTC Client] <--> B[Realtime SFU Session]
B <--> C[Media Transport Adapter]
C <--> D[External Endpoint]
アダプターインスタンス: 接続ごとに一意のインスタンスが作られ、ライフサイクル管理用の adapterId が付きます。
ロケーションの種類:
local(取り込み): 外部エンドポイントからメディアを受け取り、新しい WebRTC トラックを作りますremote(ストリーム): 既存の WebRTC トラックから外部エンドポイントへメディアを送ります
コーデック対応: アダプターは、WebRTC と外部システムの形式を変換します。
- 音声からテキストへの文字起こし
- テキストから音声への生成
- リアルタイム翻訳
- 音声の品質向上
- クラウド録画
- コンテンツ配信ネットワーク
- メディア処理パイプライン
- 従来型の電話システム
- 放送インフラ
- 独自のメディアサーバー
Media Transport Adapters は Realtime SFU API で管理します。
POST /v1/apps/{appId}/adapters/{adapterType}/new
POST /v1/apps/{appId}/adapters/{adapterType}/closeアダプターの種類ごとに、設定要件と機能は異なります。詳細な API 仕様は、各アダプターのドキュメントを参照してください。
- 不要になったアダプターインスタンスは閉じます
- ネットワーク障害向けに再接続ロジックを実装します
- 帯域と品質の要件に合わせてコーデックを選びます
- 機密性の高いメディアでは、エンドポイントを認証で保護します
- アダプターの種類ごとに、対応コーデックと形式が異なります
- Cloudflare エッジと外部エンドポイント間のネットワーク遅延は、リアルタイム性能に影響します
- 最大メッセージサイズとストリーミングモードは、アダプターの種類によって異なります
WebSocket adapter(ベータ) — WebRTC と WebSocket エンドポイントのあいだで音声と映像をストリーミングします(映像の egress は JPEG)