域、平台、设备、通道,是一条单向的链,不是四个并列的词。 上级平台看到的永远是「通道」,不是「设备」。
上一节说清了国标是「平台到平台」。 这一节把那几个天天出现的词摆正位置,否则后面读流程会一路读错。 Demo 用一棵四层的树把它们的关系画出来,并数一数各级的数量。
一、四层:域、平台、设备、通道
「SIP 监控域」是最大的一个圈,它用 10 位域号标识,同一个域里的设备共享一套编号规则。 域下面是平台,平台自己也有一个 20 位编号。 这一点最容易漏:很多人以为编号只给设备,其实平台、通道、甚至虚拟组织都有编号。 平台下面是设备,一台物理机器一个编号。设备下面是通道,通道才是真正出流的那一路。 为什么要把「设备」和「通道」分开:因为一台 NVR 有十六个通道, 它本身不出流,出流的是它下面挂的那十六台摄像机。 如果在协议里只认设备,上级就永远只能拿到「一路」,这显然不对。
二、编号里的类型段说明一切
国标的 20 位编号里,第 11 到 13 位是「类型编码」,它直接说明这个东西是什么:
| 类型码 | 是什么 |
|---|---|
| 200 | 平台(SIP 服务器) |
| 131 | 摄像机 |
| 132 | 网络录像机 |
| 118 | 报警主机 |
这一段在排障时非常有用:看到 200 就知道这是个平台,它不该出现在「设备列表」里;
看到 132 就知道「它下面还挂着通道」。
所以「设备在线但通道不在线」是常态——NVR 那台机器通着,但它下面某台摄像机的网线掉了。
只看设备状态会得出「一切正常」的错结论。
三、动手 Demo:四个词,一条从平台到镜头的链
用一棵四层的树把关系摆出来,再数一数域、平台、设备、通道各几个。
tree = {"域 3402000000": {
"平台 34020000002000000001": {
"NVR 34020000001320000001": {
"通道 34020000001320000001": {},
"通道 34020000001320000002": {},
},
"IPC 34020000001320000009": {
"通道 34020000001320000009": {},
},
},
}}
def walk(node, depth):
for k, v in node.items():
print(" " * depth + k)
walk(v, depth + 1)
walk(tree, 0)
实跑输出:
--------------------------------------------------------------------
四个词,一条从平台到镜头的链
--------------------------------------------------------------------
**国标里最容易被混的四个词是「域、平台、设备、通道」**,**它们的关系是一条单向的链,不是并列的。**
SIP 监控域 3402000000
└─ 下级平台 34020000002000000001
└─ 设备(NVR)34020000001320000001
└─ 通道 1 34020000001320000001
└─ 通道 2 34020000001320000002
└─ 设备(IPC)34020000001320000009
└─ 通道 1 34020000001320000009
层级 数量 说明
--------------------------------------------------
**监控域** **1** **一个 10 位域号**
**下级平台** **1** **自己也是 20 位编号**
**设备** **2** **一台物理机器**
**通道** **3** **真正出流的那一路**
**第二行最容易漏**:**下级平台本身也有一个 20 位编号**,
**而且它的编号规则和设备的编号规则是同一套**。**
**所以那串编号里的 `200` 段,说的是「我是一个平台」**,**而不是「我是一台摄像机」。**
**第四行是排障时最要紧的一条**:**上级平台看到的永远是「通道」,不是「设备」。**
**一台 NVR 有十六个通道,在目录里就是十六条记录**,**而 NVR 本身那条记录只是「载体」。**
**所以「设备在线但通道不在线」是常态**——**NVR 通着,但它下面那台摄像机的网线掉了。**
树一画出来,「通道比设备多」就一眼看得见。
三个通道挂在两台设备下面,而上级平台的目录里取的是三个通道,不是两台设备。
编号也能读出层级:平台的编号里带 200,NVR 带 132,摄像机带 131,
于是「这个号是干什么的」不用查表就能猜。
这是国标编号设计得比 ONVIF 好的地方——ONVIF 那边每个设备只有一个 URL,什么信息都不带。
但要小心一处:通道编号和它所属的设备编号可能长得一模一样,
比如那台 IPC 和它唯一的通道后半段完全相同。
这在单通道设备上是正常的,而多通道设备(NVR)就用末尾序号区分。
30 秒实验
- 算一下:一台 16 路 NVR 在目录里占几条记录?(16 条通道加设备本身,但上级通常只取通道)
- 想一下:为什么类型码
200不该出现在设备列表里? - 想一下:「设备在线通道离线」是怎么发生的?
常见误区
- 以为「平台没有编号」。 平台也有 20 位编号,而且类型段是 200。
- 以为「设备和通道是一回事」。 一台 NVR 下面十几个通道,出流的是通道。
- 以为「设备在线就是全好」。 通道可能单独掉线,排障要看通道状态。
自测三问(点开对答案)
1. 监控域、平台、设备、通道,谁在谁下面? —— **域包含平台,平台挂设备,设备下才是通道**。 2. 类型码 132 是什么? —— **网络录像机(NVR)**,它下面还会有通道。 3. 为什么上级只看通道? —— **通道才是真正出流的那一路**,设备只是载体。下一节认缩写:一封报文里几十个缩略语,认不全就读不下去。
- ☐ (本节完,下一节 10.02.02 缩略语)