Media Transport Adapters bridge WebRTC and other transport protocols. Adapters handle protocol conversion, codec transcoding, and bidirectional media flow between WebRTC sessions and external endpoints.
Adapters extend Realtime beyond WebRTC-to-WebRTC communication:
- Ingest audio/video from external sources into WebRTC sessions
- Stream WebRTC media to external systems for processing or storage
- Integrate with AI services for transcription, translation, or generation
- Bridge WebRTC applications with legacy communication systems
Stream audio and video between WebRTC tracks and WebSocket endpoints. Video is egress-only and is converted to JPEG. Currently in beta; the API may change.
Media Transport Adapters operate as intermediaries between Cloudflare Realtime SFU sessions and external endpoints:
graph LR
A[WebRTC Client] <--> B[Realtime SFU Session]
B <--> C[Media Transport Adapter]
C <--> D[External Endpoint]
Adapter instance: Each connection creates a unique instance with an adapterId to manage its lifecycle.
Location types:
local(Ingest): Receives media from external endpoints to create new WebRTC tracksremote(Stream): Sends media from existing WebRTC tracks to external endpoints
Codec support: Adapters convert between WebRTC and external system formats.
- Speech-to-text transcription
- Text-to-speech generation
- Real-time translation
- Audio enhancement
- Cloud recording
- Content delivery networks
- Media processing pipelines
- Traditional telephony
- Broadcasting infrastructure
- Custom media servers
Media Transport Adapters are managed through the Realtime SFU API:
POST /v1/apps/{appId}/adapters/{adapterType}/new
POST /v1/apps/{appId}/adapters/{adapterType}/closeEach adapter type has specific configuration requirements and capabilities. Refer to individual adapter documentation for detailed API specifications.
- Close adapter instances when no longer needed
- Implement reconnection logic for network failures
- Choose codecs based on bandwidth and quality requirements
- Secure endpoints with authentication for sensitive media
- Each adapter type has specific codec and format support
- Network latency between Cloudflare edge and external endpoints affects real-time performance
- Maximum message size and streaming modes vary by adapter type
WebSocket adapter (beta) - Stream audio and video between WebRTC and WebSocket endpoints (video egress to JPEG)