详细使用手册

v9.0 · 多节点部署 · 通话绑定 · 音频封装 · 语音广播与对讲 · 深度配置与排查

← 返回平台
访问地址:http://<服务器IP>:3002
认证方式:JWT Bearer Token
默认账号:root / admin123
文档版本:v9.0

1. 登录与认证

平台使用 JWT Bearer Token 认证,所有 API 请求均需携带 Authorization 头。默认用户名 root,密码在首次部署时由管理员设置(默认 admin123)。

  • 访问地址:http://<服务器IP>:3002(端口可在配置文件修改)。
  • 登录:输入密码,点击“登录”或按回车键。
  • 会话保持:登录后 Token 保存在浏览器 localStorage,刷新页面无需重新输入密码。若要登出,点击右上角“退出”。
  • 修改密码:点击右上角“修改密码”,需提供当前密码和新密码(两次确认)。修改后原 Token 失效,需重新登录。
  • 资源监控:点击右上角“资源监控”查看服务器 CPU、内存、磁盘、网络等实时状态。
  • 系统管理:点击右上角“系统管理”进行备份恢复操作。
💡
若忘记密码,需在服务器端通过数据库或配置文件重置。

2. 设备管理

2.1 查看设备列表

该页面展示所有已成功向平台注册的 GB/T 28181 设备。设备信息包含:

  • 设备 ID:国标 ID(20 位数字)。
  • IP:设备网络地址。
  • 名称:设备自定义名称(可编辑)。
  • 节点:设备所属 SIP 节点(多节点部署时显示)。
  • 通道数:该设备下的视频通道数量。
  • SSRC:是否启用 SSRC 校验。
  • 传输:SIP 传输协议(UDP/TCP)。
  • 状态:在线/离线(基于 SIP 心跳),点击状态标签可查看状态变化历史。
  • 操作:刷新通道、查看通道、编辑设备、删除设备。
操作示例:点击“刷新设备”手动同步设备列表;使用搜索框按 ID 或名称过滤;选择“在线”/“离线”筛选状态;通过“节点”下拉框筛选指定 SIP 节点下的设备。

2.2 添加设备(预录入)

平台支持手动预录入设备信息,设备上线后通过 SIP 注册自动填充 IP/端口。

  • 设备 ID:20 位国标设备编码(必填)。
  • 名称:便于识别的设备名称(可选)。
  • 独立密码:为该设备单独设置注册密码(不填则使用全局密码)。
📌
若设备已通过 SIP 注册自动接入,再次手动添加会返回“设备已存在”。手动添加但未注册的设备状态为离线,IP/端口为空。

2.3 设备状态历史

点击设备列表中的“在线”或“离线”状态标签,弹出模态框显示该设备的状态变化记录。

  • 数据来源:由定时任务 sync_device_status 同步产生,仅当设备状态发生变化时写入。
  • 显示内容:状态(在线/离线)和变化发生的本地时间。
  • 分页:支持每页 10/20/50 条记录切换。

2.4 设备注册配置

设备必须通过 SIP 协议主动注册。请按以下步骤在摄像头端配置:

  1. 获取平台 SIP 参数:点击右上角“平台信息”,记录 SIP 服务器 ID、域(Realm)、SIP 监听端口(默认 UDP 6060)、密码(默认 QSAe6780)。
  2. 进入摄像头 Web 管理:找到“网络设置”或“高级配置”中的“SIP”或“28181”选项。
  3. 填写注册参数(参考下表):
参数说明示例值
SIP 服务器 IP平台服务器的 IP 地址192.168.1.100
SIP 服务器端口平台监听端口(UDP/TCP)6060
SIP 服务器 ID平台设备 ID34020000002000000001
域平台域3402000000
设备 ID摄像头唯一 ID34020000001320000001
密码平台注册密码QSAe6780
传输协议UDP 或 TCP(建议 UDP)UDP
📌
若注册失败,检查防火墙是否开放 6060 端口,并查看平台日志(logs/sip.log)。

2.5 通道操作

点击设备行的“📂 通道”按钮,列出该设备的所有通道。每个通道支持以下功能:

  • 实时直播:点击“WS‑TS”或“WebRTC”按钮,打开播放器观看实时视频。
  • 停止播放:点击“⏹ 停止”按钮,关闭当前播放并释放资源。
  • 截图:点击“📸 截图”,平台请求设备抓拍一张图片。
  • 设备录像:点击“📼 设备录像”,查询该通道在设备本地存储的历史录像文件。
  • 截图历史:点击“🖼️ 截图历史”,查看该通道所有已保存的截图列表。
  • 批量操作:勾选多个通道,可批量设置子码流、批量指定节点。

2.6 批量设置子码流 / 节点

在通道列表顶部工具栏提供了多个批量操作按钮:

  • 批量设置子码流:勾选通道后点击,选择“开启”或“关闭”子码流。
  • 全部子码流:一次性设置该设备所有通道的子码流。
  • 批量设置节点:将选中通道切换到指定 ZLM 节点。
  • 全部设置节点:将该设备所有通道切换到指定节点。
  • 批量音频封装v9.0:详见「20. 设备音频封装」章节。
💡
跨节点设置时,ZLM 节点的绑定 SIP 必须与设备所属 SIP 一致,否则会提示“不能跨节点设置”。

2.7 设备录像查询

在通道列表中点击“设备录像”,选择起始时间和结束时间,系统会向设备发送历史录像检索请求。返回结果包括文件名、起止时间、文件大小,支持 WS‑TS、WebRTC、MP4 三种播放方式。

2.8 编辑设备配置

点击设备行的“✏️ 编辑”,可修改设备名称、SSRC 校验开关、传输协议和密码(密码留空则不修改)。保存后设备将重新注册生效。

3. 级联管理

3.1 上级平台配置

若本平台需级联到上级 SIP 域(例如公安视频联网平台),需添加上级平台信息:

  • SIP 节点:选择通过哪个本地 SIP 节点发起级联(多节点部署时必填)。
  • 设备 ID:上级平台分配给本域的设备 ID(20 位数字)。
  • 服务器 ID:上级平台的 SIP 服务器 ID(留空则同设备 ID)。
  • 域:上级平台域(Realm)。
  • 密码:上级平台注册密码。
  • 上级地址:上级 SIP 服务器的 IP 和端口(如 10.0.0.1:5060)。
  • 本地地址:本平台用于级联的本地 SIP 监听地址(留空自动)。
  • 传输协议:UDP 或 TCP。
  • 协议版本:可选 2016 或 2022(默认 2022)。

3.2 通道绑定

将国标通道或非国标流映射到指定的节点,实现流的分发管理。

  • 添加绑定:填写通道 ID、流标识(推荐 设备ID_通道ID)、应用名(通常 rtp)。
  • 一键绑定设备通道:从设备列表中选择设备,自动为该设备的所有通道创建绑定。
  • 选择通道:从已绑定列表中选通道,自动填入表单。
  • 通道名称管理:在绑定列表中直接点击“✏️”按钮为通道设置自定义名称。
  • 批量操作:多选、全选、批量删除、清空全部绑定。
  • 搜索:支持按通道 ID、名称、Stream、App 模糊搜索。

3.3 目录管理

管理国标级联的行政区域名称、业务分组名称、通道自定义名称和通道归属,并主动推送目录给上级平台。

🏛️ 行政区域名称

为行政区划代码(2/4/6 位)设置友好显示名称。设置后上级平台看到的目录树更直观。

📂 业务分组/虚拟组织名称

为国标编码(215 业务分组 / 216 虚拟组织)设置自定义名称。215 下只能包含 216 节点;216 下可挂载设备或拉流代理。

🏷️ 通道名称管理

为通道设置自定义显示名称,该名称将优先显示在 Catalog 目录中(若未设置则显示通道 ID)。

🔗 通道业务分组配置

将通道挂载到指定的虚拟组织(216)下。点击“🔍”按钮可从列表选择通道和虚拟组织。

📤 目录推送

主动向所有已注册的上级平台推送目录。推送类型包括:

  • 扁平列表:仅推送通道列表,无目录层级。
  • 行政目录:按行政区划组织通道。
  • 业务目录:按业务分组组织通道。
💡
每次修改行政或业务目录后,建议立即推送一次。

4. 系统管理

点击右上角“⚙️ 系统管理”按钮进入。

  • 备份配置:一键导出平台全部配置(包括拉流代理、推流代理、行政区域名称、业务分组名称、通道业务分组、通道绑定关系等)为 JSON 文件。
  • 恢复配置:选择备份文件上传,支持“恢复前清空现有数据”选项,可完整恢复平台配置。
  • 数据范围:覆盖代理配置、目录数据、通道绑定(正向与反向)、通道名称等所有核心配置。
📌
备份文件大小限制 100 MB,恢复操作会覆盖现有数据,请谨慎操作。

5. 流管理

查看当前节点上正在发布的实时流(包括国标推流和拉流代理产生的流)。

  • 刷新流列表:从当前选中的节点获取最新的流信息。
  • 节点选择:可选择“自动(第一个在线节点)”或具体节点。
  • 流操作:
    • “WS‑TS”和“WebRTC”按钮可直接在本平台播放器播放。
    • “地址”按钮弹出所有协议的播放地址(RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、HTTP-TS、WS-TS、fMP4 等),支持一键复制。
💡
本页每次刷新或打开时都会自动同步最新的流专属 Token,确保播放地址中的 Token 有效。

6. 云端录像

查询节点录制生成的 MP4 文件。这些文件通常由拉流代理(开启录制)产生,存储在节点的 /record/ 目录下。

  • 查询条件:按通道 ID、App、开始/结束时间过滤。
  • 结果列表:显示文件名、起止时间、文件大小,提供播放和下载按钮。
  • 批量删除:勾选多个文件,确认后删除(不可恢复,请谨慎)。

7. 拉流代理

拉流代理用于将外部 RTSP/RTMP/HLS 等流拉取到平台,转换为标准协议(FLV/TS/fMP4),并可选进行 MP4 录制。

7.1 添加普通拉流代理

点击“添加拉流代理”,填写以下字段:

  • Vhost:虚拟主机,默认 __defaultVhost__。
  • App:应用名(如 live、rtp)。
  • Stream:流名称,唯一标识该流。
  • 源流地址 (URL):要拉取的流地址,支持 RTSP、RTMP、HTTP 等。
  • 模式:常驻 表示持续拉流;按需 表示只在有播放请求时拉流。
  • 节点:选择执行拉流任务的节点,自动(轮询) 会随机分配在线节点。
  • RTP 类型:RTSP 拉流时的传输方式(0-TCP,1-UDP,2-组播)。
  • 超时 (秒):拉流连接超时时间,默认 15 秒。
  • 开启 MP4 录制:勾选后,拉流代理会将视频流切片为 MP4 文件。

7.2 添加 FFmpeg 代理

通过 FFmpeg 拉流代理,支持任意协议(HTTP、RTSP、RTMP、HLS 等)。

  • 源地址:支持任意协议的拉流地址。
  • 目标地址:推流地址(通常推给自己)。
  • 超时 (ms):推流成功超时时间,默认 10000ms。
  • 开启 HLS/MP4:是否开启 HLS 或 MP4 录制。
  • FFmpeg 命令模板 key:默认使用 ffmpeg.cmd。
📌
该功能依赖 ZLMediaKit 的 addFFmpegSource API,确保 ZLM 配置了正确的 [ffmpeg] 段。

7.3 录制配置

勾选“开启 MP4 录制”后,节点会将流以 MP4 格式切片保存。存储路径规则:/record/{app}/{stream}/{日期}/{文件名}.mp4。

8. 推流管理

推流管理可将平台内的流(如国标设备流或拉流代理流)推送到外部 RTMP/RTSP 服务器。

  • 必填参数:协议(RTMP/RTSP)、Vhost、App、Stream、目标地址、节点。
  • 状态:显示“推流中”或“已断开”。
  • 删除:停止推流并移除配置。

9. ONVIF 设备发现

通过节点扫描局域网内支持 ONVIF 协议的摄像头,快速获取 RTSP 地址并一键添加拉流代理。

  • 搜索:选择节点(必须在线),设置超时时间(默认 9000ms),点击搜索。
  • 获取 RTSP:点击“📡 RTSP”,输入用户名密码,返回该设备的 RTSP 流地址。
  • 添加代理:点击“➕ 代理”,输入用户名密码、App 和 Stream 名称,系统自动创建拉流代理。
💡
若搜索不到设备,请检查网络环境、防火墙,或增大超时时间。

10. 鉴权管理

为特定流(App/Stream)设置播放或推流 Token,实现访问控制。

  • 设置:填写 App、Stream、类型(play/publish)、有效期(秒,0=永久)。
  • 查询:查看现有 Token 及其剩余有效期。
  • 删除:移除 Token。
  • 带有 Token 的流,在访问 URL 时必须附加 ?token=xxx 参数。
💡
流管理页、播放器地址弹窗在打开时都会自动刷新 Token 缓存,无需手动同步。

11. 告警管理

查看设备通过 SIP 上报的告警事件(如移动侦测、视频遮挡、IO 报警等)。

  • 查询:可按设备 ID、通道 ID、时间范围过滤。
  • 类型筛选:全部 / 设备告警 / AI 检测。
  • AI 详情:AI 告警可点击查看详情,弹出模态框显示截图及检测框。
  • 删除:支持多选删除告警记录。

12. 用户管理

管理平台普通用户的访问权限。

  • 添加用户:设置用户名和密码,新用户可登录查看分配的通道。
  • 分配通道:为指定用户分配可访问的国标设备通道或拉流代理流(支持多选和分页)。
  • 清理通道:一键移除用户权限中已不存在的设备通道或拉流代理,避免权限残留。
  • 修改密码:管理员可为普通用户重置密码。
  • 删除用户:移除用户及其所有权限。
💡
分配通道时支持按“通道类型”和“节点”筛选,可搜索通道名称或 ID。

13. 定时任务

管理平台定时触发的任务,支持截图、录制、会话清理、设备状态同步、清理录像/截图等。

📋 支持的任务类型

类型说明所需参数
国标设备对指定国标设备的通道进行截图或录制设备 ID、通道 ID、Cron
拉流代理对拉流代理的流进行截图或录制App、Stream、Cron
会话清理扫描 Redis 会话,关闭无人观看的转发流Cron
设备状态同步定时扫描设备在线/离线状态变化Cron
清理录像清理指定保留天数前的录像文件和记录Cron、保留天数
清理截图-全盘遍历磁盘清理过期截图Cron、保留天数
清理截图-快速基于 ZSet 快速清理过期截图Cron、保留天数
清理孤儿设备清理无归属节点的设备Cron
清理孤儿节点清理无心跳上报的节点Cron
清理孤立转录清理无对应录像的转录任务Cron

📝 Cron 表达式

使用 UTC 时间。例如北京时间 (UTC+8) 凌晨 3:00 对应 UTC 前一天 19:00,应写为 0 19 * * *。界面提供常用预设:每分钟、每 3/5/30 分钟、每小时、每天 03:00、每周日 04:00、每月 1 日 04:00。

14. 播放器使用

14.1 播放控制

平台播放器支持三种播放方式:

  • WS‑TS:通过 WebSocket 传输 MPEG-TS 流,延迟约 < 1 秒,兼容性好。
  • WebRTC:基于 UDP 的实时传输,延迟约 < 500 毫秒,需浏览器支持(Chrome/Edge 推荐)。
  • MP4 直接播放:用于录像回放。

播放器界面提供暂停/恢复、音量、全屏等标准控制,并支持云台控制(仅对国标设备直播有效)。

14.2 云台控制

在播放器下方,若当前播放的是国标实时流,会出现云台控制面板:方向控制、变焦、停止、预置位、地址。

📌
云台控制依赖设备支持,若设备不支持 PTZ,按钮将无效。

14.3 自动重试

  • WS‑TS:断线后自动重试最多 5 次,每次间隔递增。
  • WebRTC:连接中断时不显示错误提示,由浏览器 ICE 机制自动尝试重连。
  • 手动点击“停止”按钮后,播放器不会自动重试。

15. 常见问题与排查

Q1: 设备注册失败,状态离线?

  • 检查平台 SIP 端口(6060)是否被防火墙阻止。
  • 确认摄像头配置的 SIP 服务器 ID、域、密码与平台信息一致。
  • 查看平台日志(logs/sip.log)中的错误信息。

Q2: 播放直播流时黑屏或卡顿?

  • 检查网络带宽,尝试降低视频码率。
  • 切换到 WebRTC 播放(低延迟)或尝试更换节点。

Q3: 拉流代理添加后状态为“未运行”?

  • 确认源流地址是否可访问(用 VLC 测试)。
  • 检查节点是否在线且能访问外网。

Q4: 录制开启但云端录像查不到文件?

  • 确认节点有写入权限(如 /record 目录)。
  • 检查拉流代理是否持续运行(按需模式可能未激活)。
  • 查看节点的 on_record_mp4 回调是否正常。

Q5: ONVIF 搜索超时或找不到设备?

  • 确保摄像头与服务器在同一子网,且 ONVIF 服务已开启。
  • 增大超时时间(如 15000ms)。

Q6: FFmpeg 代理添加失败?

  • 确认 ZLM 节点已配置 [ffmpeg] 段,且 FFmpeg 命令可用。
  • 检查源地址是否可访问,目标地址是否被占用。

Q7: 目录推送后上级平台未更新?

  • 确认上级平台是否在线,且 SIP 注册正常。
  • 检查推送类型是否正确(行政目录选 “admin”,业务目录选 “biz”)。

Q8: 多节点部署时设备列表出现“节点”列但显示异常?

  • 确认 SIP 节点已在「节点 → SIP 节点」中正确注册(见第 17 章)。
  • 检查设备注册时的 SIP 服务器地址是否指向了正确的 SIP 节点。

Q9: ZLM 节点绑定 SIP 后音视频不通?

  • 确认绑定关系中的 SIP 节点在线,且能管理该设备。
  • 重新绑定会重置该 ZLM 的 hook 配置,可在「节点 → ZLM 节点」查看绑定状态。

Q10: 通话绑定保存后不生效?

  • 确认所选 Node ID 在「节点 → ZLM 节点」中状态为在线。
  • 若已有自动绑定(TTL 30 分钟),手动保存会覆盖为永久绑定。

Q11: 语音广播/对讲失败(提示 startSendRtp failed)?

  • 检查设备 SDP 传输方式是否为 TCP + a=setup:active;可改走 UDP。
  • 确认 talk_src 音源流已在 ZLM 上推好。
  • 参考第 21 章的「常见错误」表格逐条排查。

Q12: 对讲时设备喇叭有声音但听不到设备回传?

  • 设备可能只支持单向(a=recvonly),此时 API 不返回 recv_stream。
  • 若返回了 recv_stream 但仍无声音,检查设备是否真的在发送 RTP。

16. 节点管理 v9.0

节点管理页面位于顶部导航「节点」Tab,用于管理平台的多 SIP 节点和多 ZLM 节点。所有 ZLM 节点必须绑定到某个 SIP 节点,才能正确接收该 SIP 下设备的流。

16.1 页面结构

节点页顶部有三个子 Tab:

  • SIP 节点:查看所有 SIP 服务节点的状态、IP、设备/级联统计。
  • ZLM 节点:查看所有 ZLM 流媒体节点的状态、API 地址、绑定的 SIP。
  • 通话绑定v9.0:管理会议房间与 ZLM 节点的绑定关系。

17. SIP 节点管理 v9.0

SIP 节点是运行 SIP 信令服务的服务实例,负责设备注册、级联、目录推送等信令交互。

17.1 节点列表

以表格形式展示所有 SIP 节点,包含以下字段:

  • 节点 ID:节点唯一标识(如 sip-01)。
  • SIP 设备 ID:SIP 服务器设备 ID(如 34020000002000000001)。
  • 公网 IP:节点对外暴露的 IP 地址。
  • 内网 IP:节点内部网络地址。
  • HTTP 地址:节点管理接口地址。
  • 地域:节点所属地区(可选)。
  • 状态:在线 / 离线(基于心跳)。
  • 操作:接入信息、统计、设备、级联、迁移、删除。

17.2 操作说明

📥 接入信息

点击“接入”按钮,弹出模态框显示该节点的完整接入信息:

  • SIP 服务器地址(IP:端口)
  • SIP 服务器 ID
  • SIP 域(Realm)
  • SIP 密码
  • SIP 传输协议(UDP / TCP)

模态框中有「复制全部」按钮,可一次性复制设备注册所需的所有参数。

📊 统计

点击“统计”查看节点的实时状态:在线/离线、心跳剩余时间、设备数、通道数、级联数。

📱 设备

点击“设备”查看该节点下所有注册的设备列表,支持按 ID/名称搜索、按在线/离线过滤、分页加载。

🔗 级联

点击“级联”查看该节点下所有级联的上/下级平台列表。

🔄 迁移

将某个节点的全部级联迁移到另一个节点。适用于 SIP 节点故障切换或负载调整。

📌
迁移只改 Redis 数据,目标 SIP 节点需重启才能加载新级联。

🗑️ 删除

注销节点身份。仅移除节点注册信息,保留设备归属以便快速恢复。

17.3 节点自注册

SIP 节点启动时会自动向 mgr 注册(通过内部接口),正常无需手动添加。若节点注册失败,需检查:

  • SIP 节点配置文件中的 INTERNAL_API_TOKEN 与 mgr 一致。
  • SIP 节点能访问 mgr 的 HTTP 端口(默认 3002)。
  • Redis 连接正常(心跳和注册信息都走 Redis)。

18. ZLM 绑定 SIP v9.0

每台 ZLM 节点必须绑定到一个 SIP 节点,ZLM 的 hook 才能正确指向「管它设备」的 SIP。

18.1 查看绑定状态

在「节点 → ZLM 节点」列表中,绑定 SIP 列显示当前绑定的 SIP 节点 ID,或“未绑定”。

18.2 绑定 / 重新绑定

点击行内「绑定 SIP」或「重新绑定」按钮,弹出绑定模态框:

  • ZLM 节点:只读显示当前操作的 ZLM 节点 ID。
  • SIP 节点:下拉选择(仅显示在线节点)。

确认后,平台会立即重置该 ZLM 的 hook 配置,指向所选 SIP 节点。绑定成功后:

  • 该 ZLM 上产生的流事件回调将统一发到所选 SIP。
  • 该 SIP 下的设备直播、点播请求将由这台 ZLM 提供服务。

18.3 解绑

点击行内「解绑」按钮,仅清除 Redis 中的绑定记录,不重置 ZLM 的 hook 配置(因为 ZLM 的 hook 已经在绑定过程中设置好,解绑后仍指向最后一次绑定的 SIP)。

⚠️
解绑后请确保该 ZLM 上无正在进行的业务,避免流事件回调丢失。

18.4 删除节点

删除 ZLM 节点会一并删除 Redis 中的节点记录,但不会通知 ZLM 停止服务。

19. 通话绑定 v9.0

通话绑定用于管理「会议房间 → ZLM 节点」的映射,是会议通话(对讲)的核心配置。位于「节点」页的第三个子 Tab。

19.1 绑定语义

💡

自动绑定(由会议侧创建):有效期 30 分钟,到期自动清除。会议第一次开始时自动分配一个 ZLM 节点。

手动绑定(管理员设置):永久有效,无 TTL。手动绑定会覆盖已有的自动绑定。

19.2 列表页

列表展示所有已绑定的会议房间,包含以下字段:

  • Room ID:会议房间 ID。
  • Node ID:绑定的 ZLM 节点 ID。
  • 绑定类型:
    • 永久(绿色):手动绑定,无过期时间。
    • 剩余 mm:ss(橙色):自动绑定,倒计时中。
    • 已过期(灰色):Redis key 已失效。
  • 操作:修改 / 解除。

列表顶部提供「刷新列表」「新增绑定」按钮;勾选记录后可「删除选中」进行批量操作。搜索框支持按 Room ID 或 Node ID 过滤。

19.3 新增绑定

  1. 点击「新增绑定」按钮。
  2. 在弹窗中填写 Room ID(如 meeting_001),Room ID 只允许字母、数字、下划线、短横线,≤ 64 字符。
  3. 从 Node ID 下拉选择 ZLM 节点(仅列出在线节点)。
  4. 点击「保存」。
💡
若节点下拉框显示“无可用节点”,请先在「ZLM 节点」子 Tab 中确认节点在线。

19.4 修改绑定

点击行内「修改」按钮,弹窗预填现有 Room ID(只读)和 Node ID,可重新选择 Node ID 后保存。

19.5 解除绑定

  • 单条解除:点击行内「解除」按钮,确认后删除。
  • 批量解除:勾选多条记录,点击顶部「删除选中 (N)」。

解除后,下次有人进入该会议房间时,系统会自动重新随机分配节点。

19.6 生效说明

  • 新建/修改绑定时需要目标 ZLM 节点存在且在线,否则返回“node not found”或“node not online”。
  • 绑定关系持久化在 Redis 中,服务重启后仍保留。
  • 前端每次进入「通话绑定」Tab 都会自动刷新一次列表。

20. 设备音频封装 v9.0

用于设置设备在语音广播 / 双向对讲时使用的音频封装格式。不同设备对音频封装的支持不同,需要在出现“设备听不到声音”时切换。

20.1 两种模式

模式说明适用场景
psPS 封装(PT=96 + PS/90000)默认,兼容性最好
pcmPCMA 裸流(PT=8 + PCMA/8000)部分设备要求裸流

20.2 生效时机

修改后,下次发起广播 / 对讲时生效,不影响进行中的会话。

20.3 使用方法

  1. 进入「设备 → 通道」,找到目标设备。
  2. 点击通道列表顶部的「批量音频封装」按钮。
  3. 在弹出的弹窗中选择「PS 封装」或「PCMA 裸流」。
  4. 点击「保存」,系统会对该设备的全部通道逐个设置。
💡
设置过程是逐通道串行调用,通道较多时(100+)可能需要几秒到几十秒,请耐心等待。

20.4 常见问题

  • 对讲时设备有画面无声音? 尝试切换封装格式(ps → pcm 或反之)。
  • 声音断续或杂音? 优先使用 ps 模式,兼容性更佳。
  • 设置后仍无效? 需要重新发起一次广播/对讲会话才会应用新配置。

21. 语音广播与对讲 v9.0

播放国标设备实时流时,播放器下方会出现「喊话控制」面板,支持单向广播(喊话)和双向对讲。

21.1 界面说明

喊话控制面板包括:

  • 模式选择:
    • 麦克风实时:使用浏览器麦克风实时采集。
    • 已有音源流:指定 ZLM 上已存在的音源流名称(如 talk_src)。
  • 喊话按钮:点击开始 / 停止喊话。
  • 状态提示:显示“喊话中”“启动中”等。
  • 麦克风电平:实时显示麦克风音量。

21.2 使用步骤

  1. 先正常播放设备通道的实时流(WS‑TS 或 WebRTC)。
  2. 在播放器下方找到「喊话控制」面板。
  3. 若使用麦克风:选择「麦克风实时」,点击「喊话」,允许浏览器麦克风权限。
  4. 若使用音源流:选择「已有音源流」,填写 ZLM 上的音源流名,点击「喊话」。
  5. 再次点击按钮可停止喊话。

21.3 前置条件

  • 设备已注册且在线。
  • 设备所属的 SIP 节点在线。
  • 该 SIP 已绑定至少一台在线的 ZLM 节点。
  • 音源编码为 PCMA / G.711 A-law / 8000 Hz / 单声道。

21.4 AEC 回声消除

喊话页面顶部提供「回声消除」开关:

  • 喊话模式:强制关闭 AEC(因为喊话不播放设备端音频,无回声风险),降低 CPU 占用和延迟。
  • 现场 / 对讲模式:使用用户偏好设置(默认开启)。
💡
AEC 偏好会持久化到浏览器 localStorage,下次打开自动恢复。

21.5 三种模式的差异

模式推麦克风播放设备端音频AEC
喊话是否(无回声)强制关闭
现场是是(设备原流)用户偏好
对讲是是(设备回传,双向时)用户偏好

21.6 常见错误

错误提示原因 / 解决
startSendRtp failed: connection refused设备 SDP 是 TCP + active 模式,改走 UDP
can not find the source stream音源流不在 ZLM 上,请先推流
device not found设备未注册或已下线
no online zlm node无在线 ZLM 节点,检查心跳
client-only mode: device did not send INVITE切换 BROADCAST_MODE=auto 或 server

22. 版本变更记录

v9.0 2026-10

  • 新增「节点管理」章节:涵盖 SIP 节点、ZLM 节点、通话绑定三个子 Tab。
  • 新增「SIP 节点管理」章节:节点列表、接入信息、统计、设备/级联查看、迁移、注销。
  • 新增「ZLM 绑定 SIP」章节:绑定 / 重新绑定 / 解绑 ZLM 节点与 SIP 节点。
  • 新增「通话绑定」章节:管理会议房间 → ZLM 节点的映射,支持自动/永久绑定。
  • 新增「设备音频封装」章节:PS / PCMA 两种封装格式,批量设置。
  • 新增「语音广播与对讲」章节:包含界面说明、使用步骤、前置条件、AEC、三种模式差异、常见错误。
  • 设备管理:新增「节点」列、批量音频封装按钮、跨节点设置校验提示。
  • 用户管理:分配通道支持按通道类型和节点筛选。
  • 流管理 / 鉴权管理:打开时自动同步最新 Token。
  • 告警管理:新增 AI 告警详情弹窗。
  • 定时任务:新增清理孤儿设备、清理孤儿节点、清理孤立转录等任务类型。

v8.0

  • 新增设备状态历史、目录管理、系统管理、FFmpeg 代理、清理通道、设备状态同步定时任务、播放器自动重试等。
↑