Media transport adapters

Last updated Oct 6, 2026 Media transport adapters connect WebRTC tracks to services that exchange media over another transport. The WebSocket adapter supports audio ingest, audio egress, and video egress as JPEG frames.

An external service can process or generate audio without implementing a WebRTC peer. Your backend creates the adapter and manages its lifetime.

WebSocket adapter

The WebSocket adapter is generally available. Each adapter carries one track in one direction. Choose the path your service needs:

Your service Direction Media
Generates audio WebSocket → SFU → WebRTC PCM audio published as a WebRTC audio track
Transcribes or processes audio WebRTC → SFU → WebSocket Audio delivered as PCM
Inspects frames or generates previews WebRTC → SFU → WebSocket Video delivered as JPEG frames

WebRTC endpoint

Media tracks

CloudflareRealtime SFU

WebSocket adapters

Binary media packets

Your WebSocket service

WebRTC endpointMedia tracks ↔Realtime SFU

Realtime SFUMedia ↔WebSocket adapters

WebSocket adaptersBinary media packets ↔Your WebSocket service

Use separate adapter instances for bidirectional audio. Video ingest over the WebSocket adapter is not supported.

Use the WebSocket adapter

Learn with an example

The AI audio guide shows speech generation and transcription through separate adapter paths. For video, the WebRTC-to-JPEG example ↗︎ receives frames in a Durable Object and distributes them to viewers.

Both examples are experimental and require application authentication and authorization before public use. Their repository guides describe setup and integration limitations.

Was this helpful?

YesNo

On this page

Media transport adapters - 图1Docs

{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/realtime/sfu/features/media-transport-adapters/#page","headline":"Media transport adapters","description":"Bridge Realtime SFU tracks and external media services using WebSocket audio and JPEG frame delivery.","url":"https://developers.cloudflare.com/realtime/sfu/features/media-transport-adapters/","inLanguage":"en","image":"https://developers.cloudflare.com/realtime/sfu/features/media-transport-adapters/og.png?v=d0bd7f1a594fd65b","dateModified":"2026-10-06","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}


description: Create and close WebSocket adapters for PCM audio and JPEG video, with endpoint authentication, reconnect, and error handling. title: WebSocket adapter image: https://developers.cloudflare.com/realtime/sfu/features/media-transport-adapters/websocket-adapter/og.png?v=dff11c94581d8806


Skip to content

Documentation Index
Fetch the complete documentation index at: https://developers.cloudflare.com/realtime/llms.txt
Use this file to discover all available pages before exploring further.