# AVServer **Repository Path**: raymond-du/avserver ## Basic Information - **Project Name**: AVServer - **Description**: 音视频服务 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-06-29 - **Last Updated**: 2026-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 融合平台架构设计 ## 组件设计图 ![输入图片说明](image-20260309175237145.png) ## 组件介绍 1. 服务注册和发现中心 > 功能: 不仅负责服务的注册与发现(如 Nacos),还包含配置管理、健康检查、流量权重控制及灰度发布策略。 2. 媒体流调度器 > 功能: 核心功能是“就近接入” 和 "同会议节点优先"。根据节点负载,动态分配最优的媒体转发节点。 3. **媒体转发节点** > 功能: 采用 SFU (Selective Forwarding Unit) 架构,负责音视频流的低延迟转发。支持级联以应对超大并发,采用webrtc框架具备抗弱网能力(Jitter Buffer, FEC)。 4. **媒体处理** > 提供增值服务能力。包括: > > 1. **云端混流**:将多路画面合成为一路(用于录制或推流)。 > 2. **AI 增强**:虚拟背景、美颜、数字人驱动。 > 3. **转码**:协议转换或分辨率适配。 5. web > 1. 涵盖了从普通用户的“预约/参会”到管理员的“监控/管理”的全方位功能, > 2. **可视化网络拓扑监控** 6. **会议控制核心** > 功能: 系统的“大脑”。负责会议生命周期管理(创建/销毁)、成员状态机维护、角色权限控制(静音/踢人)以及复杂的业务逻辑编排。 7. **信令网关** > 功能: 会议终端和服务通信的信令服务 8. 消息中间件 > 功能: 用于削峰填谷和解耦。 9. 数据库 > 功能: 负责存储用户信息和会议信息 > > 拟采用Mysql和Redis ## 架构特点 1. **低延迟与就近接入** > 通过**流调度服务**选择离用户最近的节点,利用**超节点**机制进行跨节点传输,有效降低了网络传输延迟(RTT),提升了音视频实时性 2. **高可扩展性** > **流媒体分布式**设计允许不同终端连接不同的流服务,避免了单点带宽瓶颈。系统可以通过横向增加 `媒体转发节点` 节点来线性提升并发容量。 3. **控制与转发分离** > 信令分布式**设计中,信令节点仅负责通信,复杂的会议逻辑由**统一服务管理**处理。这种解耦使得信令层可以轻量级快速响应,而控制层可以专注于业务逻辑,便于独立扩容和维护。 4. **灵活的媒体处理能力** > 独立的**媒体处理**模块支持合屏、数字人等高级功能,架构支持多种增值业务, ## 异常处理 1. 会议控制核心和媒体流调度器故障风险 > 进行灾备处理 2. 媒体转发节点崩溃恢复 > 1. 实时故障检测 > > 服务注册和发现中心通过心跳机制,实时检测节点的状态 > > 2. **故障事件广播** > > 调度器立即向会议控制核心发布 **节点失效**消息, 携带受影响的用户列表 > > 3. 流通道重建 > > 会议控制核心发布重新通过媒体流调度器选择可用的节点并重新生成SDP.