docs(requirements): scope T-001 to one camera model
This commit is contained in:
@@ -40,11 +40,11 @@ MVP 以默认 16 路跑通一个场景的端到端闭环;架构、数据和 UI
|
||||
|
||||
## 当前阶段
|
||||
|
||||
当前为 **M0 实机验证暂缓、M1 Sense 无实机骨架并行推进**。无实机测试不能替代 M0 白名单或 M1 五路实机出口。
|
||||
当前为 **M0 指定型号实机准入待执行,M1 Sense 无实机骨架已建立**。一台指定型号样机可以完成 M0 准入,但不能替代 M1 五路独立实机出口。
|
||||
|
||||
优先路径:
|
||||
|
||||
1. M0:3–5 款摄像头跑通 ONVIF 核心操作,形成采购白名单;关闭架构影响型开放问题。
|
||||
1. M0:一台真实样机完成首期指定“型号 + 硬件版本 + 固件”ONVIF/RTSP 准入;结论不外推为多品牌兼容。
|
||||
2. M1:只在 `Sense/` 建立 MediaMTX 生产接入骨架,5 路自动建 path、探活、断线重建。
|
||||
3. M2:对账、多租户、隧道和至少一个站点的 16 路全流程。
|
||||
4. M3:Brain + Bell 起步,默认 16 路端到端事件、预警、ack 与误报反馈。
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
## 2. 当前 M0 验收
|
||||
|
||||
- 在隔离实验室运行 MiBeeNvr 等现成测试台,不改 `_reference/`,不接真实客户摄像头。
|
||||
- 选择 3–5 款候选摄像头,逐款通过 `GetProfiles`、`GetStreamUri`、`SetSystemDateAndTime`。
|
||||
- 记录断线恢复、认证失败、时间漂移、主/子码流和厂商差异,形成采购白名单。
|
||||
- 首期统一采购一个指定摄像头型号;至少使用一台真实样机,对冻结的“厂商 + 型号 + 硬件版本 + 固件版本”组合通过 `GetProfiles`、`GetStreamUri`、`SetSystemDateAndTime`。
|
||||
- 记录认证失败、时间漂移、主/子码流各至少 10 分钟以及至少 3 次断线恢复,形成指定型号准入记录。结论不得外推到其他型号/固件、生产批次或多品牌兼容;基线变化必须重新验证。
|
||||
- 执行 `raw/01-需求收集.md` §8 已批准的决策台账;只将明确记录的下游法务、客户、硬件和供应商门禁留到对应里程碑。
|
||||
- M0 代码与临时配置可丢弃,不作为生产基线;可借鉴范围严格遵循 NVR 白名单。
|
||||
|
||||
|
||||
+4
-4
@@ -4,9 +4,9 @@
|
||||
|
||||
## M0:兼容性验证与需求定稿
|
||||
|
||||
出口:3–5 款摄像头通过 ONVIF 核心操作,采购白名单归档;架构影响型开放问题闭环;M0 临时代码不进入生产基线。
|
||||
出口:至少一台真实样机完成首期指定型号/固件的 ONVIF/RTSP 准入,指定采购基线归档;架构影响型开放问题闭环;M0 临时代码不进入生产基线。该出口不代表多品牌或批次兼容。
|
||||
|
||||
- T-001:建立摄像头兼容性实验矩阵与采购白名单。
|
||||
- T-001:完成指定摄像头型号准入验证。
|
||||
- T-002:关闭 Q1/Q2/Q4–Q12 架构影响型需求问题。
|
||||
|
||||
## M1:Sense 接入骨架 + MediaMTX
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
- T-003:建立无需真实摄像头即可验证的 Sense Go 脚手架、设备台账、ONVIF port/fake、MediaMTX 生成客户端与薄封装;完成不代表 M0/M1 出口。
|
||||
- T-003 只冻结 `/healthz`、`/readyz` 运维探针,设备管理公共 API 留给后续契约任务;真实 ONVIF adapter 不用 fake 冒充。
|
||||
- T-006:在 T-001 白名单与 T-003 骨架之上完成真实摄像头 5 路自动建 path、探活、断线恢复和 MediaMTX 集成验收。
|
||||
- T-001 暂缓期间可推进 T-003,但 T-006 和 M1 出口继续受真实设备证据阻塞。
|
||||
- T-006:在 T-001 指定准入基线与 T-003 骨架之上,使用该型号建立 5 条独立真实上游,完成自动建 path、探活、断线恢复和 MediaMTX 集成验收;复制同一 RTSP 上游不计为多路。
|
||||
- T-003 已完成;T-006 和 M1 出口继续等待 T-001 指定型号实机证据及 5 条独立上游硬件条件。
|
||||
|
||||
## M2:对账、多租户投影与 16 路全流程
|
||||
|
||||
|
||||
@@ -50,12 +50,12 @@
|
||||
- 验收:越权返回统一拒绝;无授权租户看不到人脸能力;常态录像不因事件页面被间接暴露。
|
||||
- 关联:RQ-S1-05~RQ-S1-07、RQ-S2-08、RQ-C-31~RQ-C-33,IX-013。
|
||||
|
||||
## US-007 兼容性实验记录
|
||||
## US-007 指定型号准入记录
|
||||
|
||||
- 角色:M0 测试/实施工程师。
|
||||
- 目标:对候选摄像头执行一致的 ONVIF 与恢复测试并形成采购白名单。
|
||||
- 价值:在写生产接入代码前先识别厂商差异。
|
||||
- 验收:3–5 款设备的型号、固件、认证方式、Profiles/StreamUri/校时、主子码流、掉线恢复都有证据;不记录密码和真实客户信息。
|
||||
- 目标:对首期指定摄像头型号/固件执行一致的 ONVIF 与恢复测试并形成采购准入基线。
|
||||
- 价值:在生产接入前确认统一采购基线可用,同时控制首期多品牌适配成本。
|
||||
- 验收:至少一台真实样机的厂商、型号、硬件版本、固件、认证方式、Profiles/StreamUri/校时、主子码流和 3 次掉线恢复都有证据;明确单样本和非多品牌限制,不记录密码和真实客户信息。
|
||||
- 关联:M0,T-001;无产品 UI,使用版本化测试文档。
|
||||
|
||||
## US-008 管理异构设备与隐私准入
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## 当前阶段
|
||||
|
||||
- 阶段:M0 摄像头兼容性验证尚未完成;已批准并行推进不依赖真实摄像头的 M1 Sense 软件骨架,但不得提前宣称 M0/M1 出口完成。
|
||||
- 阶段:M0 已收敛为首期指定摄像头型号准入,实机验证尚未执行;M1 Sense 无实机软件骨架已完成,但不得提前宣称 M0/M1 出口完成。
|
||||
- 生产代码:Sense M1 无实机骨架已建立,包含可构建进程、SQLite 台账、ONVIF port/fake、MediaMTX 生成客户端、最小对账与探活;真实 ONVIF adapter 和五路设备验收仍未开始。
|
||||
- 默认容量:16 路;单站点本阶段上限 128 路,必须横向分片。
|
||||
|
||||
@@ -48,7 +48,7 @@ Sense 默认监听 `127.0.0.1:8080`,提供 `/healthz` 与 `/readyz` 运维探
|
||||
|
||||
## 当前 blocker / 待确认
|
||||
|
||||
- T-001 已由项目负责人暂缓,尚未完成 3–5 款候选摄像头的 ONVIF/RTSP 实机矩阵和采购白名单;Issue 在硬件条件具备前移出可领取队列。
|
||||
- 项目负责人已将 T-001 重构为一个指定型号/固件基线、至少一台真实样机的 ONVIF/RTSP 准入;数量条件已满足,但实物身份、隔离网络、ONVIF 账号和原始证据仍须在领取后核验。单样机结论不代表批次或多品牌兼容。
|
||||
- S2 真实生产试点的未成年人影像、公共安全视频法规适用性和最终留存政策仍需客户/法务确认,阻塞 M3 上线但不阻塞 M1 实验室骨架。
|
||||
- 人脸方向已延后至 M5 的 S4 成人园区候选试点;必要性/PIP 影响评估、单独同意与替代方式、合法底库来源和删除流程未完成,阻塞人脸能力上线。
|
||||
- 短信/语音具体供应商未选;生产前必须选定两条独立投递路径并验证故障切换。
|
||||
@@ -57,7 +57,7 @@ Sense 默认监听 `127.0.0.1:8080`,提供 `/healthz` 与 `/readyz` 运维探
|
||||
|
||||
## 下一步
|
||||
|
||||
T-003 合入后仍不能宣称 M0/M1 出口完成。恢复 T-001 后先形成摄像头兼容性白名单,再领取依赖 T-001 与 T-003 的 T-006,完成真实摄像头 5 路自动建 path、探活、断线恢复和 MediaMTX 证据。实时领取状态仍以 Gitea 为准。
|
||||
先领取并完成 T-001 指定型号准入;随后为 T-006 准备该准入基线的 5 条独立真实视频上游,完成自动建 path、探活、断线恢复和 MediaMTX 证据。同一摄像头/同一 RTSP 上游重复连接不能冒充五路。实时领取状态仍以 Gitea 为准。
|
||||
|
||||
## 已知风险
|
||||
|
||||
|
||||
+20
-13
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: T-001
|
||||
title: 建立摄像头兼容性实验矩阵与采购白名单
|
||||
title: 完成指定摄像头型号准入验证
|
||||
phase: 0
|
||||
deps: []
|
||||
status: TODO
|
||||
@@ -16,7 +16,7 @@ write_paths:
|
||||
|
||||
## 问题 / 背景
|
||||
|
||||
YoVision 尚未用真实候选摄像头验证 ONVIF/RTSP 厂商差异。直接开始生产接入会把未知兼容性问题带进 Sense,M0 出口要求先验证 3–5 款设备并形成采购白名单。
|
||||
YoVision 尚未用真实摄像头验证 ONVIF/RTSP 接入。项目负责人决定首期统一采购一个指定型号,不在 M0 承担多品牌兼容成本;因此 M0 出口改为使用至少一台实物,对明确的“厂商 + 型号 + 硬件版本 + 固件版本”组合完成准入验证。该结论只证明指定基线可用,不能外推到同厂商其他型号、其他固件或多品牌兼容。
|
||||
|
||||
## 关联需求与交互(如适用)
|
||||
|
||||
@@ -26,28 +26,29 @@ YoVision 尚未用真实候选摄像头验证 ONVIF/RTSP 厂商差异。直接
|
||||
|
||||
## 方案
|
||||
|
||||
1. 在隔离实验室选定 3–5 款候选设备,记录型号、固件、认证方式和网络条件。
|
||||
2. 为每款设备执行 GetProfiles、GetStreamUri、SetSystemDateAndTime、主/子码流、认证失败、掉线恢复和时间漂移测试。
|
||||
3. 在 `docs/research/camera-compatibility.md` 固化步骤、原始证据摘要、差异、限制和采购结论。
|
||||
4. MiBeeNvr 可直接运行作测试台,也可按白名单阅读参考代码;不修改 `_reference/`,临时配置和代码不进入生产基线。
|
||||
1. 在隔离实验室冻结首期指定设备的厂商、型号、硬件版本、固件版本、认证方式和网络条件;至少使用一台可核验身份的真实样机。
|
||||
2. 对该基线执行 `GetProfiles`、`GetStreamUri`、`SetSystemDateAndTime`、主/子码流、认证失败、掉线恢复和时间漂移测试。主/子码流分别连续观察至少 10 分钟,网络断开与恢复至少重复 3 次,并保留每次时间线。
|
||||
3. 在 `docs/research/camera-compatibility.md` 固化可重复步骤、脱敏原始证据摘要、逐项结果、限制和准入结论;文档标题和结论使用“指定型号准入”,不宣称多品牌兼容矩阵。
|
||||
4. 必过项任一失败时,该型号不得准入;项目负责人可改选另一个指定型号,但必须对新型号从头执行完整矩阵,失败记录不得删除。
|
||||
5. MiBeeNvr 可直接运行作测试台,也可按白名单阅读参考代码;不修改 `_reference/`,临时配置和代码不进入生产基线。
|
||||
|
||||
## 不可变约束
|
||||
|
||||
- 阈值 / 数值边界:候选设备 3–5 款;每款三个 ONVIF 核心操作全部有证据。
|
||||
- 判定式 / 状态转换:只有必过项全部通过才进入采购白名单;失败设备记录原因而不是删除记录。
|
||||
- 阈值 / 数值边界:一个指定型号、至少一台真实样机即可验收;三个 ONVIF 核心操作全部有证据,主/子码流各观察至少 10 分钟,断线恢复至少 3 次。
|
||||
- 判定式 / 状态转换:准入对象是精确的“厂商 + 型号 + 硬件版本 + 固件版本”组合;只有必过项全部通过才标记 `approved`。型号、硬件版本或固件发生变化时默认视为未验证,至少重跑受影响项并由硬件负责人重新批准。
|
||||
- 安全边界:只用自购实验设备和隔离网络;不接真实住户、学校或客户摄像头;不记录密码、完整 RTSP 凭据或可复用 token。
|
||||
- 既有契约:`_reference/` 只读,M0 产物不得成为生产 NVR 或长期依赖。
|
||||
- 既有契约:`_reference/` 只读,M0 产物不得成为生产 NVR 或长期依赖;业务代码仍按标准 ONVIF/RTSP 和 adapter 边界实现,不得把准入厂商、型号或地址写死。
|
||||
|
||||
## 验收要点
|
||||
|
||||
- 任务相关验证:文档包含设备矩阵、可重复命令/步骤、逐项结果和采购白名单;运行三条 harness 治理命令。
|
||||
- 完整门禁:涉及脚本时在隔离环境对全部 3–5 款设备重复执行;没有生产代码则不触发 Go/Python 完整门禁。
|
||||
- 人工 / 设备验收:必需;由实施/硬件负责人核对型号、固件和原始测试证据。
|
||||
- 任务相关验证:文档包含指定基线身份、样机标识的脱敏摘要、可重复命令/步骤、逐项结果、失败记录、单样本限制和准入结论;运行三条 harness 治理命令。
|
||||
- 完整门禁:涉及脚本时在隔离环境对指定样机重复执行完整矩阵;没有生产代码则不触发 Go/Python 完整门禁。
|
||||
- 人工 / 设备验收:必需;由实施/硬件负责人核对实物、型号、硬件版本、固件和原始时间线,并书面确认单样本不能证明批次一致性或多型号兼容。
|
||||
- 构建产物:不适用;交付物为 `docs/research/camera-compatibility.md`。
|
||||
|
||||
## 边界(不改什么)
|
||||
|
||||
不创建 Sense 生产脚手架,不修改 `_reference/`,不评估 AI 检出率,不承诺 16/128 路容量。
|
||||
不创建 Sense 生产脚手架,不修改 `_reference/`,不评估 AI 检出率,不承诺 16/128 路容量,不输出多品牌兼容结论,也不把一台样机结果当作批次质量抽检。
|
||||
|
||||
## 协作约束
|
||||
|
||||
@@ -66,3 +67,9 @@ YoVision 尚未用真实候选摄像头验证 ONVIF/RTSP 厂商差异。直接
|
||||
- 当前阻塞条件:暂不安排 3–5 款候选摄像头、对应固件/ONVIF 账号和隔离实验室网络进行实测。
|
||||
- 解除条件:上述设备与测试条件准备完成。恢复后仍须完成原任务的逐款证据和人工/设备验收,不得用模拟器结果替代采购白名单。
|
||||
- 本阻塞不妨碍独立的 Sense 离线软件骨架,但继续阻止真实设备兼容性结论和 5 路实机验收。
|
||||
|
||||
### 2026-08-04 重构为指定型号准入
|
||||
|
||||
- 项目负责人确认首期只有一台摄像头,并决定统一采购一个指定型号;T-001 从“3–5 款兼容性矩阵”收敛为“一个精确型号/固件基线、至少一台真实样机”的准入验证。
|
||||
- 数量门槛降低不等于降低必过项:保留三个 ONVIF 核心操作、主/子码流、认证失败、校时/漂移和掉线恢复,增加主/子码流各 10 分钟及 3 次断线恢复的最低证据要求。
|
||||
- 准入结论不得外推到其他型号、硬件版本、固件、生产批次或多品牌兼容。后续 T-006 仍要求 5 条独立真实视频通道,不能把同一台摄像头的同一 RTSP 上游复制为五路。
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ write_paths:
|
||||
4. 以 port/adapter 隔离 ONVIF,提供确定性的 fake adapter 和脱敏 fixture,验证 profile、stream URI、校时、认证失败和超时的领域映射,但不伪造厂商兼容结论。
|
||||
5. 设备台账先使用 SQLite migration,schema 语义与生产 PostgreSQL `sense` schema 保持一致;建模使用 `modality + capabilities`,配额默认 16、最大 128,并覆盖 17/128/129 边界。
|
||||
6. 建立数据库期望态驱动的最小对账/探活循环,使用 fake ONVIF、MediaMTX 假服务和可选合成 RTSP 源验证幂等、退避、取消与重启恢复;本任务不接真实摄像头,也不实现孤儿删除。
|
||||
7. 将真实安装、生成、验证、构建和启动命令同步到标准入口与文档;后续 T-006 再使用 T-001 白名单设备完成 5 路实机集成验收。
|
||||
7. 将真实安装、生成、验证、构建和启动命令同步到标准入口与文档;后续 T-006 再使用 T-001 指定准入基线设备完成 5 路独立实机集成验收。
|
||||
|
||||
## 不可变约束
|
||||
|
||||
|
||||
+9
-4
@@ -18,7 +18,7 @@ write_paths:
|
||||
|
||||
## 问题 / 背景
|
||||
|
||||
T-003 只用 fake ONVIF、MediaMTX 假服务和合成 RTSP 建立无实机骨架,不能证明厂商设备兼容、真实媒体路径稳定或断线后能自动收敛。M1 出口仍要求使用 T-001 采购白名单中的真实摄像头完成 5 路自动建 path、探活和断线恢复,并留下可重复、脱敏的证据。
|
||||
T-003 只用 fake ONVIF、MediaMTX 假服务和合成 RTSP 建立无实机骨架,不能证明指定实机基线可用、真实媒体路径稳定或断线后能自动收敛。M1 出口仍要求使用 T-001 已批准“型号 + 硬件版本 + 固件”基线的真实摄像头完成 5 路自动建 path、探活和断线恢复,并留下可重复、脱敏的证据。
|
||||
|
||||
## 关联需求与交互(如适用)
|
||||
|
||||
@@ -28,7 +28,7 @@ T-003 只用 fake ONVIF、MediaMTX 假服务和合成 RTSP 建立无实机骨架
|
||||
|
||||
## 方案
|
||||
|
||||
1. 从 T-001 白名单选择设备,在隔离实验室建立至少 5 条彼此独立的真实视频通道;记录型号、固件、网络拓扑和主/子码流,但不记录密码或含凭据的完整 URI。
|
||||
1. 使用 T-001 指定准入基线,在隔离实验室建立至少 5 条彼此独立的真实视频上游,原则上使用 5 台该型号设备;只有能证明传感器、编码会话和故障域独立的多通道硬件才可折算多路。重复连接同一 RTSP URI、同一编码上游或 MediaMTX fan-out 只算 1 路。记录型号、硬件版本、固件、网络拓扑和主/子码流,但不记录密码或含凭据的完整 URI。
|
||||
2. 通过 Sense 设备台账写入期望态,验证 ONVIF profile/stream URI 映射、MediaMTX path 自动创建和健康状态,不允许人工修改 MediaMTX 配置冒充自动化成功。
|
||||
3. 验证三类恢复:摄像头/网络短时离线、Sense 进程重启、MediaMTX 进程重启。每类都记录配置的探活/退避期限、实际恢复时间、对账结果和失败证据。
|
||||
4. 验证 5 路并行运行期间 path、reader/upstream、探活和数据库期望态一致;连续观察窗口至少 30 分钟,只作为 M1 集成 smoke,不外推 16/64/128 路容量或生产 SLA。
|
||||
@@ -36,7 +36,7 @@ T-003 只用 fake ONVIF、MediaMTX 假服务和合成 RTSP 建立无实机骨架
|
||||
|
||||
## 不可变约束
|
||||
|
||||
- 阈值 / 数值边界:至少 5 条同时在线的独立真实视频通道,连续观察至少 30 分钟;默认 16、最大 128 的配额语义不得改变。本任务不验收 16/64/128 路容量。
|
||||
- 阈值 / 数值边界:至少 5 条同时在线且上游独立的真实视频通道,连续观察至少 30 分钟;同一上游的重复拉流不增加计数。默认 16、最大 128 的配额语义不得改变。本任务不验收 16/64/128 路容量。
|
||||
- 判定式 / 状态转换:数据库仍是期望态真相源;三类恢复均须在 T-003 冻结的探活/退避配置内自动重新收敛,`unconverged = 0`,不得靠人工改配置或重建数据库通过。
|
||||
- 安全边界:只使用自购设备和隔离网络;证据中不得出现密码、完整 RTSP/ONVIF 凭据、可复用 token、真实客户地址或人物画面。
|
||||
- 既有契约:MediaMTX 保持独立二进制,MiBeeNvr 不进入生产依赖;不得为通过某一厂商测试把 5、16 或厂商名称写死在业务逻辑中。
|
||||
@@ -50,7 +50,7 @@ T-003 只用 fake ONVIF、MediaMTX 假服务和合成 RTSP 建立无实机骨架
|
||||
|
||||
## 边界(不改什么)
|
||||
|
||||
不修改 Brain、Bell、规则/告警业务、正式管理 UI,不做 16/64/128 路容量验收,不重新裁决 T-001 采购白名单,不把失败设备从证据中删除。
|
||||
不修改 Brain、Bell、规则/告警业务、正式管理 UI,不做 16/64/128 路容量验收,不重新裁决 T-001 指定型号准入基线,不把失败设备从证据中删除。
|
||||
|
||||
## 协作约束
|
||||
|
||||
@@ -67,3 +67,8 @@ T-003 只用 fake ONVIF、MediaMTX 假服务和合成 RTSP 建立无实机骨架
|
||||
|
||||
- 项目负责人批准将 T-003 拆成无实机软件骨架,并由本任务保留真实摄像头和 5 路 M1 集成门禁。
|
||||
- 当前 T-001 暂缓、T-003 尚未领取,因此 T-006 仅建立规格,不进入可领取队列。
|
||||
|
||||
### 2026-08-04 上游准入范围更新
|
||||
|
||||
- T-001 已按项目负责人决定收敛为一个指定型号/固件基线的一台样机准入;T-006 可以使用同一准入型号的设备,不再要求多个品牌。
|
||||
- T-006 的 5 路门禁不随之降低:必须是 5 条独立真实上游,通常需要 5 台设备;同一摄像头或同一 RTSP URI 的复制连接不能计数。
|
||||
|
||||
Reference in New Issue
Block a user