会议系统构建学习笔记
适合目标:系统掌握会议系统从架构设计到核心模块实现的主线,建立房间、成员、媒体、信令、SFU 和弱网治理的整体认知。
学习定位:这一份偏“会议系统总览和构建主线”。
学习原则:先理解会议系统的模块拆分,再进入 WebRTC、SFU 和客户端设计。
目录
- 会议系统是什么
- 会议系统总体架构
- 客户端需要哪些模块
- 服务端需要哪些模块
- 房间、成员、流模型
- 信令、媒体、回放的关系
- 弱网治理与性能优化
- 高频面试题
- 一页总结
1. 会议系统是什么
会议系统本质上是:
一个多人实时音视频协作系统。
它通常包含:
- 音视频连麦
- 房间和成员状态
- 屏幕共享
- 聊天和控制消息
- 可选录制和回放
2. 会议系统总体架构
客户端
-> 信令服务
-> SFU
-> 可选录制/回放服务
更完整地说:
采集 -> 编解码 -> WebRTC 传输 -> SFU 转发 -> 远端解码播放
\-> 信令服务负责协商和状态同步
3. 客户端需要哪些模块
- 房间管理
- 成员管理
- RTC 连接管理
- 设备管理
- 音视频控制
- 屏幕共享
- 统计与网络质量检测
4. 服务端需要哪些模块
- 信令服务
- SFU 媒体转发服务
- 鉴权服务
- 录制和回放服务
- 监控和日志服务
5. 房间、成员、流模型
5.1 房间
负责:
- 成员容器
- 角色和权限
- 会议配置
5.2 成员
负责:
- 用户身份
- 在线状态
- 音视频状态
5.3 流
负责:
- 音频流
- 摄像头流
- 屏幕共享流
6. 信令、媒体、回放的关系
6.1 信令
负责协商和状态同步。
6.2 媒体
负责实时音视频传输。
6.3 回放
负责会后录制与重看。
一句话:
信令管协商,媒体管实时传输,回放管历史内容。
7. 弱网治理与性能优化
7.1 弱网治理
- 自适应码率
- 降分辨率
- 降帧
- NACK / FEC
7.2 性能优化
- 降低多路渲染开销
- 控制编解码压力
- 优化订阅策略
8. 高频面试题
8.1 会议系统为什么通常选择 SFU
因为多人会议里,SFU 在延迟、扩展性和成本之间更平衡。
8.2 信令服务为什么不能替代媒体服务器
因为信令主要负责状态和协商,不负责大规模媒体流传输。
8.3 会议系统和直播系统最大的区别是什么
会议系统更强调多人双向实时互动,而直播系统更偏一对多分发。
9. 一页总结
9.1 会议系统关键词
房间、成员、流、信令、SFU、WebRTC、屏幕共享、弱网治理。
9.2 记忆口诀
会议系统看多人实时互动,核心是房间模型、信令协商和 SFU 转发。