1 当前版本与边界
平台入口为 https://g1.gbliu.com/。当前版本部署 WVP-PRO、ZLMediaKit、独立业务 API 与管理界面,提供真实服务健康、设备身份授权、目录查询、视频观看租约和报警查询。
音频文件任务、双向对讲、可靠报警事件桥属于后续阶段,界面会显示尚未实现或待验证条件,不自动采集麦克风、不发送测试声音。录像、回放、级联和集群不属于本次首版范围。
2 软件界面介绍

| 区域 | 用途 |
|---|---|
| 顶部标题栏 | 统一平台图标、软件设置、退出登录。 |
| 左侧导航 | 运行总览、设备管理、视频预览、音频与对讲、报警记录、平台配置。 |
| 运行总览 | 真实设备、媒体及依赖接口状态;服务正常不代表设备验收完成。 |
| 底部左侧 | 真实状态、呼吸球、14段主循环动画;异常为红色。 |
| 底部右侧 | 打开黑灰色运行日志;底部中间保持空白。 |
3 摄像头接入
在摄像头的国标 GB28181 配置页填写下列信息,不带 https:// 前缀。
| 项目 | 当前值 |
|---|---|
| SIP服务器地址 | 120.25.102.224 |
| SIP端口 | 22026,TCP与UDP均已部署 |
| 服务器国标ID | 20260000002000000001 |
| SIP域 | 2026000000 |
| 注册有效期 | 3600秒 |
| 心跳周期 | 60秒 |
| 注册间隔 | 60秒 |
| 最大心跳次数 | 3次 |
| 设备认证密码 | 管理员登录后,在运行总览的“设备接入参数”中明文查看 |
| 设备ID与通道ID | 使用真实的20位国标编号,保持唯一 |
- 启用设备国标功能并保存注册配置。
- 打开“设备管理”,核对真实设备名称、型号、编号与在线状态。
- 确认身份后点击“授权设备”。未授权设备不能通过业务 API 点播或同步。
- 点击“同步目录”及“查看通道”,核对设备上报的真实通道。
本期列表最多加载最近查询的100项。设备在线、通道在线和媒体可播放是不同状态,逐项核对。
4 视频预览
点击每格麦克风图标后,本画面下方持续显示授权、协商、静音建链、发送或失败原因。麦克风被拒绝且当前浏览器没有授权入口时,可在 Chrome 或 Edge 中打开本平台,允许网站使用麦克风后重试。按设备画像启用的 Broadcast 喊话仅在服务器确认设备下行连续增长后开放麦克风,现场收音沿用该画面预览;界面不会据此宣称独立全双工已通过。
- 打开“视频预览”,选择已授权的在线设备与通道。
- 选择画面1至4,点击“开始预览”。服务器请求设备发送媒体并建立观看租约。
- 浏览器通过受保护的业务入口交换SDP,媒体通过8000端口传输;内部管理密钥不进入浏览器。
- 每个画面下方固定一排图标:对讲、喇叭与音量滑块、播放、暂停、停止。喇叭后面的滑块只调节该画面播放音量,拖到0显示静音标识,调高音量或点击喇叭恢复声音。每格底部固定显示画面编号,播放状态、通道名和实际分辨率分别属于该画面;对讲状态另行显示。暂停保留最后一帧,播放继续当前观看会话。
- 点击单格停止释放该画面的租约并只结束由该画面发起的本页对讲;其他画面继续播放。停止后点击该格播放可重新打开最后的通道。点击“停止全部预览”释放本页租约。页面退出后停止续期,60秒观看租约到期后由巡检释放。
同一通道的多个观看租约复用底层流,正常停止仅释放当前租约,最后一个使用者离开才停止底层点播。当前实现尚需设备上的多用户、超时、重启与资源回收实测;未宣称已满足四路24小时稳定性目标。
预览中的对讲图标同时绑定该画面编号、设备和通道,不跳转页面;再次点击可取消等待或结束本页对讲。连接中显示等待状态,设备流建立后显示通话状态,实际声音仍需现场确认。同通道在另一格打开时,不会同步显示为本格对讲;其他画面、窗口或文件任务占用音频时不能抢占或误结束。
5 音频与对讲、报警
5.1 麦克风与双向对讲
- 打开“音频与对讲”,选择已授权在线设备及通道。
- 选择双向对讲或单向喊话,点击开始;浏览器只在此时请求麦克风。使用HTTPS和支持G.711U的Chrome或Edge。
- 本机麦克风、设备扬声器方向、设备麦克风方向分别显示真实状态。双向流均建立后仍需现场确认听音;没有回传声音时不会显示双向已通。
- 暂停麦克风会关闭当前音轨发送;结束通话会关闭采集并释放设备音频。单向喊话只播放本机声音到设备,不播放设备返回声音。
浏览器使用WebRTC8000;独立对讲请求采用UDP、G.711U;单向喊话和文件/文字播报采用标准国标广播,按设备请求协商TCP或UDP,编码为G.711U,服务器源端口30400–30500;浏览器到服务器仍使用WebRTC。30秒租约、10秒续期,最长10分钟。页面关闭停止采集,租约过期清理。视频流没有音轨时,开启预览声音不会凭空产生设备声音。
5.2 音频文件
- 选择10MB以内、60秒以内的WAV或MP3,点击“上传并校验”。服务器实际解码为8kHz单声道,发送时编码G.711U。
- 选择1–3次,点击“发送到设备”。任务先通过标准国标广播通知,由设备请求音频后建立输出,前置12秒静音;10秒内未开始发送则停止,避免静默丢失正文。
- 任务列表显示协商、发送、完成、失败或取消;点击停止可以取消当前任务。服务器重启会终止旧任务,禁止自动重播。
同一物理设备保守映射为一个共享音频输出;文件和对讲互斥。状态SENT仅代表服务器完成发送,播放确认始终待现场核对。资源清理失败显示隔离,禁止新输出,点击重试停止。TCP连接或UDP发包成功不代表设备实际播出,仍须核对设备回包与现场声音。
5.3 文字语音播报
- 选择摄像头与通道,在文字播报框输入1–200字,选择语速。
- 点击“生成语音”,服务器本地合成普通话;生成完成后先点击音频控件试听。
- 选择重复1–3次,点击“下发摄像头播报”,查看任务的协商与发送结果。
文字不发送外部语音服务;生成语音不会自动播给摄像头。与对讲、文件任务共用扬声器输出锁。生成成功不等于摄像头播出,需设备下行音频协商及现场确认。
5.4 报警
“报警记录”读取 WVP 已保存的真实报警,最多查询100条。可靠业务事件桥与断线补拉仍需第三阶段实施和验收。
6 设置与日志
6.1 主题与明暗
软件设置的常规页提供深绿、深蓝、橙色、灰色、深紫、青蓝、商务蓝、科技绿八套预设,以及浅色、深色、跟随系统三个独立明暗模式。更改立即预览;确定后在当前浏览器保存;取消、Esc或关闭恢复原设置。跟随系统使用浏览器的系统应用明暗偏好,不修改媒体或服务状态。
6.2 运行日志
日志面板保留当前服务会话最近500条,支持级别筛选与复制。“清空”只清空当前页面显示,不删除服务器日志。日志以UTC时间按日保存在 /opt/gb-server/state/logs,界面按浏览器当地时间显示。默认保留3天,可设置1至90天;最低日志级别为信息、告警或异常。服务器路径只读,浏览器不能选择服务器任意文件夹。
6.3 文档与版本
设置页的文档标签打开本说明书;版本信息显示当前平台版本、开发者和反馈邮箱。界面使用A类已定义视觉规则;Windows桌面打包项不适用于本Web平台,未找到定义的A9/A10不冒称实现。
7 公网端口
| 端口 | 协议 | 用途 |
|---|---|---|
| 22 | TCP | 保留现有SSH运维入口 |
| 80 | TCP | HTTP跳转与现有Certbot续期 |
| 443 | TCP | 管理页面、API、SDP与事件连接 |
| 22026 | TCP、UDP | 摄像头国标信令 |
| 8000 | TCP、UDP | WebRTC媒体 |
| 30000–30500 | TCP、UDP | 国标多端口RTP媒体 |
5000、8080、18080、5432、6379及内部RTSP/RTMP端口不对公网开放。未部署TURN,不开放3478和49152–65535;未使用公网RTSP、RTMP、SRT和原生信令时,不开放554、1935、9000、3000、3001。SIP通告公网地址,实际监听本机私网网卡。
8 运维与恢复
主目录为 /opt/gb-server。WVP、ZLM与API由Docker Compose管理;数据库、Redis、Nginx由系统服务管理,同一业务进程没有两套管理器重复拉起。应用容器使用host网络,控制API仅走回环。
cd /opt/gb-server docker compose -f compose.yml ps bash scripts/start.sh bash scripts/stop.sh bash scripts/backup.sh
真实密码仅在服务器受限的 secrets.env,不要复制至公开源码。数据库和状态备份目录为 backups;恢复前应停止相关服务,并根据部署记录选择对应版本,不自动覆盖现有数据。
证书沿用已有Let’s Encrypt证书;Certbot已改用Nginx webroot验证,续期后通过 nginx -t 再reload,不因Nginx占用80端口而打断续期。当前版本尚未完成主机整体重启、媒体会话重建和24小时实机验收,维护窗口内逐项验证。
9 故障定位
| 现象 | 检查顺序 |
|---|---|
| 设备不在线 | 22026云防火墙 → 设备密码、ID、域 → 实际REGISTER → 设备心跳 |
| 点播没有画面 | 设备授权与通道 → SDP公网地址 → RTP30000–30500 → 编码和关键帧 → WebRTC8000 |
| 网页异常 | HTTPS证书 → Nginx配置 → API5000 → 内部WVP认证与数据库 |
| 服务正常但没有声音 | 不能以服务正常判定声音通过;查看音频三方向状态、设备在线、UDP30400–30500、设备实际回应和现场听音 |
| 没有报警 | 设备真实触发 → 主动上报/订阅 → WVP接收与存储 → 查询;后续再验证可靠事件桥 |