媒体传输适配器可桥接 WebRTC 与其他传输协议。适配器负责处理 WebRTC 会话与外部端点之间的协议转换、编解码器转码以及双向媒体流。
适配器将 Realtime 的应用范围扩展到了 WebRTC 到 WebRTC 通信之外:
- 将外部源的音频/视频引入 WebRTC 会话
- 将 WebRTC 媒体流式传输到外部系统以进行处理或存储
- 与 AI 服务集成,用于转录、翻译或生成
- 桥接 WebRTC 应用程序与旧版通信系统
在 WebRTC 轨道与 WebSocket 端点之间流式传输音频和视频。视频仅限出网且被转换为 JPEG。目前处于 Beta 阶段;API 可能会发生变化。
媒体传输适配器作为 Cloudflare Realtime SFU 会话和外部端点之间的中介运行:
graph LR
A[WebRTC 客户端] <--> B[Realtime SFU 会话]
B <--> C[媒体传输适配器]
C <--> D[外部端点]
适配器实例:每个连接都会创建一个带有唯一 adapterId 的实例来管理其生命周期。
位置类型:
local(引入 Ingest):接收来自外部端点的媒体以创建新的 WebRTC 轨道remote(流 Stream):将媒体从现有 WebRTC 轨道发送到外部端点
编解码器支持:适配器在 WebRTC 和外部系统格式之间进行转换。
- 语音转文本(转录)
- 文本转语音(生成)
- 实时翻译
- 音频增强
- 云端录制
- 内容分发网络
- 媒体处理管道
- 传统电话
- 广播基础设施
- 自定义媒体服务器
媒体传输适配器通过 Realtime SFU API 进行管理:
POST /v1/apps/{appId}/adapters/{adapterType}/new
POST /v1/apps/{appId}/adapters/{adapterType}/close每种适配器类型都具有特定的配置要求和功能。请参阅各个适配器的文档以获取详细的 API 规范。
- 不需要时关闭适配器实例
- 针对网络故障实现重新连接逻辑
- 根据带宽和质量要求选择编解码器
- 对敏感媒体采用身份验证来保护端点安全
- 每种适配器类型都有特定的编解码器和格式支持
- Cloudflare 边缘与外部端点之间的网络延迟会影响实时性能
- 最大消息大小和流式传输模式因适配器类型而异
WebSocket 适配器 (Beta) - 在 WebRTC 和 WebSocket 端点之间流式传输音频和视频(视频出网转换为 JPEG)