概述
该程序服务于山东理工大学第十七届 ACM 网络编程擂台赛、拙壮程长科技培训学校(淄博)有限公司第一届程序设计竞赛等多项算竞赛事,该项目将持续维护,以提供更加稳、更加强大的功能体系。
基于 Electron 构建的全平台 / 架构的桌面客户端应用程序,用于实时采集用户主机的所有媒体设备流,并基于 RecorderRTC 实现视频设备的本地滚动缓存录制,方便主办方后期排查工作,并可以实现精彩回放等功能。
基于 WebRTC 协议实现实时推流,导播端发送求流请求后推送音视频流,以节省网络带宽。
网络层采用 WebSocket 协议,握手阶段鉴权,登陆后开启心跳率检测以及无限次的断线重连。
程序依赖配置文件启动,配置文件包含用户信息、设备配置信息等,方便用户误关程序或下次启动时能够直接就绪,并方便主办方统一下发配置,简化设备配置流程。
程序设计了多种命令行启动参数,以适配不同比赛场景的需求。
使用指南
安装
Windows
选择最新版本的安装包,双击安装即可,对于安全提示可忽略。
macOS
macOS 安装需要开启「允许任何来源」来安装 App,在终端执行下方命令,随后将 .app 拖拽到应用程序目录即可:
sudo spctl --master-disable
若依旧显示「文件已损坏」,则在终端执行:
sudo xattr -rd com.apple.quarantine <path-to-app>
其中
<path-to-app> 可以直接拖拽软件到终端,会自动补充路径。Linux(Debian/Ubuntu)
双击运行 .deb 或使用 apt 安装:
sudo apt install <path-to-app>
登陆与鉴权
以下操作演示在 macOS 26 系统下运行,演示机型为 M4 Mac mini 对于其他操作系统,操作逻辑大致类似

如果需要使用 KtB 需要登陆并连接到远程服务器。
你需要输入三个由服务端生成的表单项来进行鉴权:
- alias:比赛别名
- userId:服务端下发的对于每个用户的唯一标识
- token:推流 token 用于鉴权