变电站边缘 AI:ONVIF / RTSP 相机配置与联调手册
调研日期:约 2026-10-25(Asia/Shanghai)
定位:站端边缘 AI 可执行相机上电联调——发现、账号、主/子码流、时间、预置位;与 CAM VLAN、多路 RTSP 调度、证据仓、双光标定衔接。
衔接:edge-ai-vlan-network-isolation.md、edge-ai-multistream-rtsp-scheduling.md、edge-ai-time-sync-ntp-ptp.md、edge-ai-evidence-store-snapshot-retention.md、edge-ai-visible-ir-fusion.md、edge-ai-intrusion-e-fence-sop.md、edge-ai-d60-d90-acceptance-checklist.md、edge-ai-substation-gateway-bom.md。
公开规范参考:ONVIF Profile S(Streaming / Media / 条件 NTP);工具以社区开源为准。厂商私有云平台、专有发现协议能力 unknown,以该机说明书为准。本文不替代二次安防规程或厂家调试手册。
0. 一句话结论与红线
结论:相机只落在 CAM VLAN,边缘盒 eth1(或等价)单向拉 RTSP over TCP;ONVIF 用于发现与取流 URI / 用户管理,事件 ts 以网关解码/推理时刻为准;上电按「网络 → 账号 → 码流 → 时间 → 预置位 → 入管线」清单验收,再进多路调度与证据仓。
| 红线 ID | 禁止项 | 说明 |
|---|---|---|
| C1 | 相机不得出 CAM VLAN | 禁止直达办公网、保护网、公网、MQ/EVD/OTA;对齐 VLAN 手册 N4 |
| C2 | 关云平台 / UPnP / 不明外联 | 出厂「智能运维云」「P2P」默认关;UPnP 关;未知厂商云标 unknown,未核验不得开 |
| C3 | 禁弱口令与默认账户 | 禁用 admin/12345 类;ONVIF 与 Web 口令分策略或同强口令轮换;密钥进 vault,不进明文 Git |
| C4 | OSD 墙钟不可替代网关 ts |
相机 OSD / 私有时间戳仅辅;Schema ts/ts_utc 用网关钟;未同步 → quality=suspect(对齐授时 T1) |
| C5 | 禁止相机路径进保护 | 无跳闸/GOOSE/软压板;AI 仅管理信息大区(对齐 D60-09) |
1. 上电联调清单(按序勾选)
1.1 网络(CAM VLAN)
| # | 项 | 目标 | 否决? |
|---|---|---|---|
| N1 | PoE / 供电稳定;链路灯正常 | 边缘盒 eth1 同 CAM VLAN 可达相机 | 是 |
| N2 | 固定 IP 或 DHCP 预留;网关=边缘盒或交换路由(按站规划) | ping / ARP 仅在 CAM |
是 |
| N3 | ACL:CAM→仅边缘盒 TCP 554(RTSP)及可选 80/443(ONVIF/Web) | 禁 CAM→其它 VLAN(VLAN A1) | 是 |
| N4 | 关 Wi-Fi AP、关 4G 模块(若枪机自带) | 无旁路出站 | 是 |
| N5 | 关 UPnP、关厂商云/P2P | 配置截图归档 | 是 |
1.2 ONVIF 用户与发现
| # | 项 | 做法 |
|---|---|---|
| U1 | 启用 ONVIF;创建强口令用户(Operator 或更高,按厂商标注) | Digest / WS-UsernameToken |
| U2 | 删除或禁用出厂默认账户 | 验收抽测弱口令失败 |
| U3 | 发现范围限本 VLAN | WS-Discovery 不跨保、不跨办公;生产可关广播发现、改静态 IP 表 |
| U4 | GetCapabilities / GetProfiles / GetStreamUri 成功 |
得到主/子码流 RTSP URI |
1.3 主/子码流与编码参数(建议默认)
口径对齐多路手册:分析优先子码流或主码流降帧;主码流可仅录像/证据。下列为工程起点,非厂商 SLA。
| 参数 | 主码流(录像/证据) | 子码流(分析默认) | 备注 |
|---|---|---|---|
| 分辨率 | 1080p(招标可 4K) | 720p 或 1080p@降帧 | A 档 POC 优先子码流 |
| 帧率 | 25 fps(国标常见) | 分析 10~15 fps 或源 25 + 管线隔帧 | 与 BOM A/B/C 调度表一致 |
| 编码 | H.265 优先;兼容板用 H.264 | 同左;两路编码须硬解支持 | Zoo 无关;以板实测为准 |
| 码率 | CBR/VBR 按盘容量;勿开超高智能码率致抖动 | 分析路控制峰值,防 jitter 堆 | |
| GOP / I 帧间隔 | 1~2 s 量级(如 25fps→GOP 25~50) | 同左或略短 | 过长 → 断流重建慢、抽帧易花屏 |
| 音频 | 默认关(站端视觉 AI 常不需要) | 关 | 省带宽与 demux 复杂度 |
| RTSP 传输 | TCP(RTP/RTSP/TCP 或客户端 protocols=tcp) |
同左 | UDP 仅实验室 |
验收命令思路(边缘盒 CAM 口):用 ffprobe/ffplay 或 VLC 打开 GetStreamUri 返回的 URI;连续 ≥5 min 无花屏、断流后重连成功。
1.4 联调最小流水线
PoE 上电 → CAM IP 可达 → ONVIF 登录 → GetProfiles/GetStreamUri
→ 固定主/子编码与 GOP → RTSP TCP 试拉
→(可选)相机 NTP 指站钟 → 网关 chrony 已 sync
→ 写入边缘「相机清单」JSON(见 §5)→ 入多路管线
→ 预置位/多边形/calib_id 固化 → 证据仓试抽 1 条
1.5 Media Profile 与 URI 固化
ONVIF Media Profile 把「视频源 + 编码器」绑成可引用令牌。联调时应:
- 列出全部 Profile,识别哪条对应主码流、哪条对应子码流(名称因厂而异,常含
main/sub/101/102等,以实测为准)。 - 对选定 Profile 调用
GetStreamUri(传输偏好 TCP / RTP-over-RTSP);把返回 URI 模板化写入相机清单(主机名用 IP,路径保留,用户名密码用 vault 引用替换)。 - 改编码器参数后,部分相机会更换 Profile token 或需重新
GetStreamUri——变更单须同步更新边缘拉流配置并做一次断流重连演练。 - 同一物理机双光:通常两个 Profile 或两个通道 URI;在清单中标
pair_id,解码预算按 2 路计。
2. 时间:相机 NTP 可选辅,网关打戳为主
对齐 edge-ai-time-sync-ntp-ptp.md:
| 角色 | 要求 |
|---|---|
| 边缘网关 | 必做 chrony 跟站控 NTP;有条件 PTP;ts = RFC3339(建议 UTC+Z) |
| 相机 NTP | Profile S 条件支持;若有 GetNTP/SetNTP,指同一站内 NTP,作 OSD/辅参考 |
| 事件时间 | 解码回调或推理完成时刻打 ts/ts_mono_ms;禁止仅信 OSD 墙钟 |
| 质量 | 网关 clock_quality≠sync → 事件与证据默认 quality=suspect,不进金标准 |
| 多路关联 | 同站相对偏差目标 ≤100 ms(视觉);双光关联窗口见双光手册 |
红线复述:相机钟漂移、OSD 显示错误,不得单独作为事故对标 SOE 的时间依据。
3. 发现与工具(公开可核验)
| 工具 / 库 | 用途 | 注意 |
|---|---|---|
| WS-Discovery(ONVIF) | 二层发现 NVT;scope 常见含 onvif://www.onvif.org/Profile/Streaming |
仅 CAM VLAN;跨 VLAN 广播应被 ACL 挡住 |
| python-onvif / onvif-zeep 等 | GetCapabilities、GetProfiles、GetStreamUri、用户/NTP |
版本与 Media1/Media2 差异;失败标机型 unknown |
| onvif-cli / 同类 CLI | 脚本化探测与 URI 导出 | 社区维护状态因仓而异,以当前 README 为准 |
| VLC | 人工看流、确认 TCP、花屏 | 勿用办公网电脑直连生产 CAM(违 C1) |
| ffprobe / ffmpeg | 编码、分辨率、fps、SPS/PPS;脚本健康检查 | rtsp_transport tcp |
GStreamer rtspsrc |
与 DeepStream / 自研管线一致试拉 | protocols=tcp;latency 200~800 ms 起调 |
| 厂商 Web / 私有 SDK | 预置位、电子放大、测温矩阵 | 私有云 / P2P / 专有发现未核验 → 标 unknown,默认关 |
Profile S 最小能力回顾(公开规范):至少一档可用 Media Profile;GetProfiles + GetStreamUri;RTSP 拉流。NTP 为条件能力。PTZ/预置位属其它 Profile/厂商扩展,以机型为准。
4. 球机预置位与电子围栏 / 双光联动
| 变更 | 必须联动 | 说明 |
|---|---|---|
| 预置位调用 / 巡航改点 | 电子围栏 polygon_px 重校或冻结告警 |
像素多边形相对该预置位画面;见闯入 SOP |
| 预置位变更 | 双光 calib_id 作废并重标 |
每预置位独立 calib_id;运动中禁止定量温升金标准 |
| 调焦 / 拆装镜头 / 大幅变倍 | 同上 + 分辨率档案更新 | 子码流分辨率变 → ROI/letterbox 配置升 config.ver |
| 云台失控抖动 | 管线标记 cam_state=UNSTABLE;可选抑制闯入 |
防抖失效时宁漏勿误(策略可配) |
配置仓建议字段(相机清单一行)
{
"camera_id": "bay3-camA",
"vlan": "CAM",
"ip": "10.110.x.y",
"onvif_user_ref": "vault:cam/bay3-camA",
"rtsp_main": "rtsp://…/Streaming/Channels/101",
"rtsp_sub": "rtsp://…/Streaming/Channels/102",
"transport": "tcp",
"codec": "H265",
"gop_sec": 2,
"preset_id": "P1-gate",
"fence_config_ver": "2026.10.25-a",
"calib_id": "bay3-dualA-20261025-H",
"role": "analyze"
}
URI 中的口令用占位符;真实密钥仅 vault / 部署注入。
5. 与多路调度、证据仓、双光的衔接
- 路数计价:一体双光 = ≥2 路硬解配额(VIS+IR);按 BOM A=1–2 / B=4–8 / C=16–32 总量排程。
- 分析入口:默认子码流或主码流 + 隔帧;过载阶梯:降帧 → ROI → 隔帧 → 砍次要路(多路手册)。
- 断流:TCP;退避重连;
last_frame_ts>3 s → 重建 demux;可上送运维类CAMERA_STREAM_LOSS(非保护遥信)。 - 证据:告警峰帧/clip 写 EVD;MQTT 只带
media_refs;双光成对留 VIS + 热图;可信ts才进金标准。 - 安全:CAM 口禁 IP 转发到 MGMT;管理改码流走 MGMT 堡垒,不经办公直连相机。
6. 两周落地节奏 + 验收门禁
6.1 两周计划(示意)
| 日 | 动作 |
|---|---|
| D1–2 | CAM VLAN / PoE / ACL;关云与 UPnP;固定 IP 表 |
| D3–4 | ONVIF 用户;主/子码流 + GOP;TCP 单路稳定 ≥30 min |
| D5–6 | 写入相机清单;接入多路管线;对齐 BOM 路数 |
| D7–8 | 网关 chrony;可选相机 NTP;抽测 clock_quality |
| D9–10 | 球机预置位固化;多边形 / calib_id;试抽证据 1 条 |
| D11–12 | 满载 N 路(合同档)≥30 min;断流/拔线恢复;文档与截图归档 |
| D13–14 | 对照 D60 相关项自检;缺口进风险清单 |
6.2 验收门禁(对齐 multistream / VLAN / D60)
| ID | 门禁 | 级别 |
|---|---|---|
| CAM-01 | 全部生产相机仅 CAM VLAN;ACL 抽测办公/保护不可达 | 否决(对齐 VLAN N4、D60-09) |
| CAM-02 | 云平台/UPnP/弱口令已关;口令不在明文仓 | 否决 |
| CAM-03 | RTSP TCP;主/子参数与 GOP 文档化;单路 ≥5 min 稳定 | 否决 |
| CAM-04 | ≥ 合同档路数(常 ≥4×1080p 分析相关)稳定入管线;与 D60-01 拉流一致 | 否决(有分析承诺时) |
| CAM-05 | 事件 ts 来自网关;OSD 不作为金标准时间;未同步 suspect |
否决 |
| CAM-06 | 预置位变更有多边形/calib_id 联动记录 |
警告(有球机/双光则为否决) |
| CAM-07 | 证据试写成功;MQTT 无大媒体;断 Broker 仍可留证(证据仓 R5) | 警告→D60 阶段升否决 |
| CAM-08 | Zoo / 宣传 FPS 不进合同;以端到端实测为准 | 否决(标书措辞,D90-11) |
6.3 相机清单与配置基线(交付物)
联调结束须交付可版本化的相机配置基线(建议 Git 或配置仓,密钥除外):
- 清单表:
camera_id、间隔/bay、IP、MAC、厂家型号、固件版本、ONVIF Profile 宣称(S 等)、主/子 URI 模板、编码与 GOP、角色(analyze/record/dual-vis/dual-ir)。 - 截图包:Web 端「云平台关闭」「UPnP 关闭」「用户列表」「NTP」「码流」各一页(脱敏)。
- ACL 导出:交换/防火墙 CAM→AI 仅 554/可选 80·443 的规则号。
- 预置位字典:球机
preset_id↔ 语义名(大门、围墙北、主变 A 相等)↔fence_config_ver/calib_id。 - 健康检查脚本:边缘盒 cron 或 systemd timer:对每路
ffprobe超时失败 → 记日志 / 可选运维事件;禁止在推理线程同步探针。
固件升级:先实验室复测 ONVIF URI 与编码能力,再窗口期滚动;升级后重跑 CAM-03/CAM-04,球机重确认预置位像素未漂。
7. 常见故障速查
| 现象 | 优先排查 |
|---|---|
| 发现不到相机 | 是否同 CAM VLAN;交换机隔离;防火墙拦 3702/WS-Discovery |
GetStreamUri 401 |
用户角色不足;Digest 时间窗(相机钟严重偏可辅核 NTP) |
| 有 URI 无画面 | TCP/UDP 不一致;码流被其它客户端占满;GOP 过长首帧慢 |
| 多路一段时间后花屏 | 码率突发、交换机缓冲、盒侧 decode_q 无界(应有界丢最旧) |
| 闯入误报骤增 | 预置位被调、多边形未重校 |
| 双光框对不齐 | calib_id 过期;云台未回 P 位 |
8. 五要点(贴墙)
- 相机只在 CAM VLAN;关云 / UPnP;禁弱口令。
- ONVIF 取 URI,RTSP TCP 拉流;定主/子、H.264/H.265、GOP。
ts网关打;相机 NTP 可选辅;OSD 墙钟不进金标准。- 改预置位 → 重校围栏多边形 + 作废双光
calib_id。 - 两周内进多路管线并过 CAM/D60 门禁;宣传 FPS 不进合同。
全文完。仅落盘;不修改飞书。不确定的厂商私有能力统一标 unknown。