实时互动从一对一通话扩展到多人会议、在线白板与协同文档,背后是 WebRTC 媒体栈与 CRDT/OT 一致性算法的组合。本专题覆盖实时通信的完整链路:WebRTC 架构与信令设计、ICE/STUN/TURN 与 NAT 穿透、SDP 协商与 Offer/Answer 流程、媒体采集与设备管理、音视频编解码与拥塞控制、SFU 与 MCU 架构选型、弱网对抗与自适应码率、CRDT 无冲突复制数据类型原理、OT 操作变换与协同编辑、在线白板与光标同步实战、DTLS-SRTP 端到端加密与安全,以及首帧时间、卡顿率等 QoE 质量监控。
📚 专题导览
本专题共 18 篇,前 12 篇按「架构 → 网络 → 协商 → 采集 → 传输 → 架构 → 优化 → 协作 → 实战 → 安全 → 质量」的顺序组织,后 6 篇为补充进阶内容(传输 → 音频 → 录制 → 直播 → 信令 → 测试),建议按表序通读:
| 阶段 | 文章 | 技术要点 |
|---|---|---|
| 架构 | WebRTC 架构与信令设计 | WebRTC 协议栈全景、信令通道设计、房间模型与状态同步 |
| 网络 | ICE / STUN / TURN 与 NAT 穿透原理 | ICE 候选收集与连通性检查、STUN 打洞、TURN 中继与成本控制 |
| 协商 | SDP 协商与 Offer/Answer 流程 | SDP 结构与 m-line、Offer/Answer 状态机、Trickle ICE 与重协商 |
| 采集 | 媒体采集与设备管理 | getUserMedia/getDisplayMedia、设备枚举切换、约束与权限处理 |
| 传输 | 音视频编解码与拥塞控制 | H.264/VP8/AV1 选型、Simulcast/SVC、GCC 与 TWCC 拥塞控制 |
| 架构 | SFU 与 MCU 架构选型 | SFU 与 MCU 对比、mediasoup/Janus/LiveKit 选型、级联与容量规划 |
| 优化 | 弱网对抗与自适应码率 | 弱网探测、自适应码率与 FEC/重传、抖动缓冲与丢包恢复 |
| 协作 | 实时协作 CRDT 原理 | CRDT 收敛性原理、状态型与操作型、Yjs/Automerge 实践 |
| 协作 | 协同编辑与 OT 算法 | OT 变换函数、ShareDB 服务端权威模型、与 CRDT 的取舍 |
| 实战 | 在线白板与光标同步实战 | 白板图元同步、光标与选区广播、离线重连与状态补齐 |
| 安全 | 实时通信的端到端加密与安全 | DTLS-SRTP 加密、端到端加密与密钥管理、鉴权与房间隔离 |
| 质量 | 实时音视频的质量监控 | getStats 指标采集、首帧时间与卡顿率、MOS 估算与告警 |
| 传输 | 实时消息传输选型:WebSocket、SSE 与 MQTT | WebSocket/SSE/MQTT 选型与握手开销、心跳与重连、弱网表现、协议降级 |
| 音频 | WebRTC 音频处理与 3A 算法 | AEC 回声消除与延迟对齐、ANS 降噪、AGC 增益、AudioWorklet 自定义处理链 |
| 录制 | 实时音视频录制与转码 | 客户端与服务端录制方案、SFU 旁路与合成、容器与转码、分片与回放 |
| 直播 | 低延迟直播:LL-HLS 与 WebRTC 直播 | 延迟来源拆解、LL-HLS 阻塞加载、WebRTC 直播秒开、CDN 边缘分发与扩展 |
| 信令 | 信令服务与房间水平扩展 | 信令协议与 SDP 交换顺序、房间状态管理、多实例路由、断线重连恢复 |
| 测试 | 实时通信的端到端测试与压测 | 假媒体流端到端用例、QoE 指标断言、并发房间压测、网络损伤模拟 |