参考
系统架构
说明 Andless 设备端、云端服务、P2P 直连与控制端之间的通信关系、数据流和适用边界。
#架构概览
Andless 是一套面向移动载体、无人设备和远程巡检场景的低延迟音视频通信与控制平台。系统由嵌入式设备端、云端服务、原生 QUIC 通信组件和控制端组成,在统一链路中承载实时视频、语音、控制指令、设备遥测和定位数据。
Andless 低延迟音视频通信与控制平台系统原理框图
当前桌面上位机基于 Tauri 2 + Vue 3 + TypeScript 构建:Rust 侧负责 QUIC、P2P、音频编解码、HID 和固件等系统能力,前端负责画面显示、控制面板、设备管理和诊断。Android App 提供移动端入口,具体功能以对应版本为准。
#组件职责
| 组件 | 主要职责 |
|---|---|
| 嵌入式设备端 | 采集并编码音视频,执行 PWM / IO 控制,采集 GPS、IMU、电池、温度、网络和系统状态 |
| 云端服务 | 完成信令交互、会话管理、设备状态同步和必要的云端中继 |
| P2P 通信 | 通过 STUN、IPv6、UPnP 和 UDP 打洞尝试建立设备与控制端的直接 QUIC 路径 |
| 桌面上位机 | 连接设备、解码视频、语音交互、虚拟摇杆与通道管理、地图显示和网络诊断 |
| Android App | 在移动设备上提供连接、监看和控制入口 |
#连接建立与链路选择
- 控制端根据已配对设备建立云端 QUIC 连接。
- 云端连接可用后,控制端并行启动 P2P 信令与网络探测。
- 两端交换候选地址并进行 UDP 打洞。
- P2P QUIC 成功后,界面显示直连状态;打洞失败或链路中断时,系统保留或回到云端中继路径。
- 控制端持续呈现连接阶段、时延、丢包和数据量,便于判断当前链路。
这套结构的目标是在公网覆盖范围内兼顾低时延与可用性。它不会消除运营商网络、NAT、防火墙、基站覆盖和终端供电带来的限制。
#实时数据流
| 数据 | 方向 | 处理方式 |
|---|---|---|
| 实时视频 | 设备端 → 控制端 | H.264 / H.265 编码,经 QUIC 传输并由控制端硬件加速解码 |
| 双向语音 | 双向 | 控制端与设备端采集、编码、传输和播放 |
| 运动控制 | 控制端 → 设备端 | 虚拟摇杆或通道配置转换为 PWM / 数字控制值 |
| 设备遥测 | 设备端 → 控制端 | GPS、IMU、电池、温度、网络信号和系统资源等状态 |
| 地图定位 | 设备端 → 控制端 | GPS 坐标与定位质量驱动位置和轨迹显示 |
| 配置与反馈 | 双向 | 分辨率、编码格式和自适应码率配置,以及设备应用结果 |
视频链路使用 QUIC Datagram,并结合前向纠错(FEC)、缺块反馈和关键帧请求等恢复机制。自适应码率是否启用以及具体调节范围由设备能力和当前配置共同决定。
#当前能力边界
- P2P 是优先尝试的低时延路径,不保证在所有 NAT 和运营商网络下成功。
- H.265 是否可用还取决于设备编码能力和控制端 WebView 的解码支持。
- 当前桌面端使用高德标准地图;其他地图模式以客户端版本为准。
- AI 夜景优化、AI 识别和硬件 MCP 自动化能力需要对应固件、模型或上层服务配合,不能仅由通信链路单独完成。
- “超远距离”指不再依赖传统 2.4G 点对点遥控距离,而是依赖可用的公网、设备供电和合法合规的运行环境。