这个项目能做什么

VLX FrameFlow 是一个模块化的 Go 套件,旨在将基于 Debian 的单板计算机(SBC)和 VPS 实例转换为专业级直播广播硬件。它在更广泛的 VLX Stream Flow 生态系统中充当边缘采集与传输层,该生态系统还包括用于合成的 VisionBridge 和用于控制的 ChatBridge。 主要功能包括: 1. **高可用性绑定路由器**:使用双协议绑定聚合多个互联网连接。UDP 流量(例如 SRT 视频流)通过 MLVPN 进行聚合,而 TCP 流量(遥测、API、一般互联网)则结合使用 MPTCP 和作为透明代理的 Shadowsocks。即使某个连接失效,也能确保上行链路的韧性。 2. **多摄像头流媒体编码器**:利用 V4L2 和 FFmpeg 捕获连接摄像头的视频和音频,将其编码为 SRT 流。这些流通过绑定隧道推送到中继服务器(MediaMTX),实现零丢失回退和高质量传输。 3. **实时 GPS 遥测**:与 gpsd 集成以自动检测 USB/串行 GPS 硬件。它读取位置数据并将 JSON 遥测通过 POST 发送到远程端点,从而实现实时跟踪,并可与生态系统中的其他组件(如 ChatBridge)集成。 4. **服务器中继与控制**:服务器组件运行在 VPS 上,充当中继节点和防火墙管理器。它通过 MLVPN 隧道安全地将来自伴随应用(如 ChatBridge)的指令转发回 SBC 客户端。它还管理本地 MediaMTX 服务以进行摄入和输出。 5. **远程管理 UI**:提供一个轻量级的嵌入式 Svelte 单页应用(SPA),可通过网页浏览器访问。前端通过轮询后端 API 来显示系统状态、systemd 状态和带颜色的控制台输出,使操作员能够远程管理现场单元。 架构与部署: - 该套件将角色分为客户端(SBC)和服务器(VPS)。客户端通过用户空间 systemd 以非特权用户身份运行,通过拒绝 CLI 模块的 root 执行来强制安全。服务器需要 root 权限来管理路由和防火墙规则。 - 配置通过 shell-sourced 环境文件和 YAML 对等定义进行处理,支持用于多客户端设置的确定性槽位模型。 - 该项目采用 GNU 通用公共许可证 v3.0 许可。