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 心跳),点击状态标签可查看状态变化历史。
- 操作:刷新通道、查看通道、编辑设备、删除设备。
2.2 添加设备(预录入)
平台支持手动预录入设备信息,设备上线后通过 SIP 注册自动填充 IP/端口。
- 设备 ID:20 位国标设备编码(必填)。
- 名称:便于识别的设备名称(可选)。
- 独立密码:为该设备单独设置注册密码(不填则使用全局密码)。
2.3 设备状态历史
点击设备列表中的“在线”或“离线”状态标签,弹出模态框显示该设备的状态变化记录。
- 数据来源:由定时任务
sync_device_status同步产生,仅当设备状态发生变化时写入。 - 显示内容:状态(在线/离线)和变化发生的本地时间。
- 分页:支持每页 10/20/50 条记录切换。
2.4 设备注册配置
设备必须通过 SIP 协议主动注册。请按以下步骤在摄像头端配置:
- 获取平台 SIP 参数:点击右上角“平台信息”,记录 SIP 服务器 ID、域(Realm)、SIP 监听端口(默认 UDP 6060)、密码(默认
QSAe6780)。 - 进入摄像头 Web 管理:找到“网络设置”或“高级配置”中的“SIP”或“28181”选项。
- 填写注册参数(参考下表):
| 参数 | 说明 | 示例值 |
|---|---|---|
| SIP 服务器 IP | 平台服务器的 IP 地址 | 192.168.1.100 |
| SIP 服务器端口 | 平台监听端口(UDP/TCP) | 6060 |
| SIP 服务器 ID | 平台设备 ID | 34020000002000000001 |
| 域 | 平台域 | 3402000000 |
| 设备 ID | 摄像头唯一 ID | 34020000001320000001 |
| 密码 | 平台注册密码 | QSAe6780 |
| 传输协议 | UDP 或 TCP(建议 UDP) | UDP |
logs/sip.log)。2.5 通道操作
点击设备行的“📂 通道”按钮,列出该设备的所有通道。每个通道支持以下功能:
- 实时直播:点击“WS‑TS”或“WebRTC”按钮,打开播放器观看实时视频。
- 停止播放:点击“⏹ 停止”按钮,关闭当前播放并释放资源。
- 截图:点击“📸 截图”,平台请求设备抓拍一张图片。
- 设备录像:点击“📼 设备录像”,查询该通道在设备本地存储的历史录像文件。
- 截图历史:点击“🖼️ 截图历史”,查看该通道所有已保存的截图列表。
- 批量操作:勾选多个通道,可批量设置子码流、批量指定节点。
2.6 批量设置子码流 / 节点
在通道列表顶部工具栏提供了多个批量操作按钮:
- 批量设置子码流:勾选通道后点击,选择“开启”或“关闭”子码流。
- 全部子码流:一次性设置该设备所有通道的子码流。
- 批量设置节点:将选中通道切换到指定 ZLM 节点。
- 全部设置节点:将该设备所有通道切换到指定节点。
- 批量音频封装v9.0:详见「20. 设备音频封装」章节。
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 文件。
- 恢复配置:选择备份文件上传,支持“恢复前清空现有数据”选项,可完整恢复平台配置。
- 数据范围:覆盖代理配置、目录数据、通道绑定(正向与反向)、通道名称等所有核心配置。
5. 流管理
查看当前节点上正在发布的实时流(包括国标推流和拉流代理产生的流)。
- 刷新流列表:从当前选中的节点获取最新的流信息。
- 节点选择:可选择“自动(第一个在线节点)”或具体节点。
- 流操作:
- “WS‑TS”和“WebRTC”按钮可直接在本平台播放器播放。
- “地址”按钮弹出所有协议的播放地址(RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、HTTP-TS、WS-TS、fMP4 等),支持一键复制。
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。
[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参数。
11. 告警管理
查看设备通过 SIP 上报的告警事件(如移动侦测、视频遮挡、IO 报警等)。
- 查询:可按设备 ID、通道 ID、时间范围过滤。
- 类型筛选:全部 / 设备告警 / AI 检测。
- AI 详情:AI 告警可点击查看详情,弹出模态框显示截图及检测框。
- 删除:支持多选删除告警记录。
12. 用户管理
管理平台普通用户的访问权限。
- 添加用户:设置用户名和密码,新用户可登录查看分配的通道。
- 分配通道:为指定用户分配可访问的国标设备通道或拉流代理流(支持多选和分页)。
- 清理通道:一键移除用户权限中已不存在的设备通道或拉流代理,避免权限残留。
- 修改密码:管理员可为普通用户重置密码。
- 删除用户:移除用户及其所有权限。
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 云台控制
在播放器下方,若当前播放的是国标实时流,会出现云台控制面板:方向控制、变焦、停止、预置位、地址。
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 节点故障切换或负载调整。
🗑️ 删除
注销节点身份。仅移除节点注册信息,保留设备归属以便快速恢复。
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)。
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 新增绑定
- 点击「新增绑定」按钮。
- 在弹窗中填写 Room ID(如
meeting_001),Room ID 只允许字母、数字、下划线、短横线,≤ 64 字符。 - 从 Node ID 下拉选择 ZLM 节点(仅列出在线节点)。
- 点击「保存」。
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 两种模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
ps | PS 封装(PT=96 + PS/90000) | 默认,兼容性最好 |
pcm | PCMA 裸流(PT=8 + PCMA/8000) | 部分设备要求裸流 |
20.2 生效时机
修改后,下次发起广播 / 对讲时生效,不影响进行中的会话。
20.3 使用方法
- 进入「设备 → 通道」,找到目标设备。
- 点击通道列表顶部的「批量音频封装」按钮。
- 在弹出的弹窗中选择「PS 封装」或「PCMA 裸流」。
- 点击「保存」,系统会对该设备的全部通道逐个设置。
20.4 常见问题
- 对讲时设备有画面无声音? 尝试切换封装格式(ps → pcm 或反之)。
- 声音断续或杂音? 优先使用
ps模式,兼容性更佳。 - 设置后仍无效? 需要重新发起一次广播/对讲会话才会应用新配置。
21. 语音广播与对讲 v9.0
播放国标设备实时流时,播放器下方会出现「喊话控制」面板,支持单向广播(喊话)和双向对讲。
21.1 界面说明
喊话控制面板包括:
- 模式选择:
- 麦克风实时:使用浏览器麦克风实时采集。
- 已有音源流:指定 ZLM 上已存在的音源流名称(如
talk_src)。
- 喊话按钮:点击开始 / 停止喊话。
- 状态提示:显示“喊话中”“启动中”等。
- 麦克风电平:实时显示麦克风音量。
21.2 使用步骤
- 先正常播放设备通道的实时流(WS‑TS 或 WebRTC)。
- 在播放器下方找到「喊话控制」面板。
- 若使用麦克风:选择「麦克风实时」,点击「喊话」,允许浏览器麦克风权限。
- 若使用音源流:选择「已有音源流」,填写 ZLM 上的音源流名,点击「喊话」。
- 再次点击按钮可停止喊话。
21.3 前置条件
- 设备已注册且在线。
- 设备所属的 SIP 节点在线。
- 该 SIP 已绑定至少一台在线的 ZLM 节点。
- 音源编码为 PCMA / G.711 A-law / 8000 Hz / 单声道。
21.4 AEC 回声消除
喊话页面顶部提供「回声消除」开关:
- 喊话模式:强制关闭 AEC(因为喊话不播放设备端音频,无回声风险),降低 CPU 占用和延迟。
- 现场 / 对讲模式:使用用户偏好设置(默认开启)。
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 代理、清理通道、设备状态同步定时任务、播放器自动重试等。