Эх сурвалжийг харах

feat(docs): add final implementation plan for multi-camera sync playback system

- Introduced a comprehensive document detailing the final implementation plan for a multi-camera monitoring and synchronized playback system tailored for Japanese pachinko parlors.
- The document outlines project overview, implementation goals, system architecture, camera layout strategies, potential risks, and compliance with Japanese regulations.
- It serves as a foundational resource for the development and deployment of the system, ensuring clarity on objectives, requirements, and next steps.
yb 2 долоо хоног өмнө
parent
commit
be3822f91f

+ 434 - 0
docs/plans/multi-camera-sync-playback-final-plan.md

@@ -0,0 +1,434 @@
+# 多摄像头监控同步回放系统 - 最终实施计划
+
+> 版本: v3.0 | 日期: 2026-01-16 | 状态: 实施计划确定
+
+---
+
+## 一、项目概述
+
+### 1.1 项目背景
+
+为日本パチンコ店设计多摄像头监控与多角度同步回放系统,解决纠纷取证、作弊检测、合规存档等核心需求。
+
+### 1.2 目标客户
+
+- 中小型店铺:50-200 台机器
+- 大型店铺:200-500 台机器
+- 连锁集团:多店统一管理
+
+---
+
+## 二、实现目标
+
+### 2.1 核心目标 (P0)
+
+| 目标           | 描述                             | 验收标准                   |
+| -------------- | -------------------------------- | -------------------------- |
+| **纠纷快速取证** | 多角度同步回放,5分钟内定位问题   | 支持4路视频同屏联动播放     |
+| **作弊行为追溯** | 可疑行为记录与回放               | 事件标签系统可检索          |
+| **时钟精确同步** | 多路视频帧级对齐                 | 误差 <100ms                |
+| **合规存档**     | 符合日本隐私法规的视频存储       | 通过合规检查清单            |
+
+### 2.2 次级目标 (P1)
+
+| 目标           | 描述                             | 验收标准                   |
+| -------------- | -------------------------------- | -------------------------- |
+| 员工监督       | 收银操作合规性检查               | 收银台多角度覆盖            |
+| 事件标签系统   | 人工/AI标注关键时刻              | 支持分类搜索+组合查询       |
+| 分层存储       | 热/温/冷三层自动迁移             | 成本降低40%                |
+| 审计日志       | 所有操作可追溯                   | 日志保留3年                |
+
+### 2.3 远期目标 (P2)
+
+| 目标           | 描述                             | 阶段     |
+| -------------- | -------------------------------- | -------- |
+| AI异常检测     | 人员聚集、异常滞留自动告警       | Phase 2  |
+| 人物跨摄像头追踪 | 可疑人员在不同摄像头间追踪      | Phase 3  |
+| 多店统一管理   | 连锁店中央管理平台               | Phase 3  |
+| 移动端回放     | iPad/手机随时查看                | Phase 2  |
+
+---
+
+## 三、系统架构
+
+### 3.1 四层架构
+
+```
+┌─────────────────────────────────────────────────────────────┐
+│                      管理层 (Management)                     │
+├─────────────┬─────────────┬─────────────┬──────────────────┤
+│  用户权限   │  设备管理   │  告警中心   │   报表统计       │
+└─────────────┴─────────────┴─────────────┴──────────────────┘
+                              ↓
+┌─────────────────────────────────────────────────────────────┐
+│                     业务层 (Business)                        │
+├─────────────┬─────────────┬─────────────┬──────────────────┤
+│ 同步回放引擎│ 事件标签系统│ 智能检索   │  导出/分享       │
+└─────────────┴─────────────┴─────────────┴──────────────────┘
+                              ↓
+┌─────────────────────────────────────────────────────────────┐
+│                     数据层 (Data)                            │
+├─────────────┬─────────────┬─────────────┬──────────────────┤
+│  时间轴索引 │ 元数据存储  │ 热存储NVR  │  冷存储归档      │
+└─────────────┴─────────────┴─────────────┴──────────────────┘
+                              ↓
+┌─────────────────────────────────────────────────────────────┐
+│                    采集层 (Ingestion)                        │
+├─────────────┬─────────────┬─────────────┬──────────────────┤
+│ RTSP采集网关│ 时钟同步NTP │ 编码转码   │  边缘AI检测      │
+└─────────────┴─────────────┴─────────────┴──────────────────┘
+```
+
+### 3.2 核心模块职责
+
+| 模块             | 职责                     | 关键技术                |
+| ---------------- | ------------------------ | ----------------------- |
+| **RTSP采集网关** | 统一接入各品牌摄像头     | RTSP/ONVIF 协议适配     |
+| **时钟同步**     | 确保多路视频帧级对齐     | NTP + 时间戳校准        |
+| **同步回放引擎** | 多画面联动播放/暂停/跳转 | 基于时间戳的帧对齐      |
+| **事件标签系统** | 人工/AI 标注关键时刻     | 标签分类+全文索引       |
+| **热存储**       | 近期高频访问视频         | SSD/NVMe + 本地 NVR     |
+| **冷存储**       | 长期归档合规保留         | 对象存储 + 分层迁移     |
+
+---
+
+## 四、摄像头布局策略
+
+### 4.1 推荐方案:混合策略
+
+| 区域         | 摄像头类型 | 配置策略          | 数量估算(200台规模) |
+| ------------ | ---------- | ----------------- | ------------------- |
+| **高价值机台** | 固定枪机×2 | 俯视45°+侧面      | 20-30组             |
+| **普通机台** | 广角枪机   | 区域共享(4-6台/组) | 30-40               |
+| **走道通道** | 广角枪机   | 覆盖人员动线      | 15-20               |
+| **收银台**   | 高清枪机   | 正面+侧面+手部    | 4-6                 |
+| **出入口**   | 人脸识别机 | 全景+人脸抓拍     | 4-6                 |
+| **景品柜台** | 固定枪机   | 交易全过程        | 4-6                 |
+
+### 4.2 机器分级标准
+
+| 级别 | 机型特征         | 摄像头配置    | 示例         |
+| ---- | ---------------- | ------------- | ------------ |
+| S级  | 高人气、高赔率   | 双摄          | 海物语、北斗 |
+| A级  | 中等人气         | 单摄+区域补充 | 普通机型     |
+| B级  | 低人气、边角位置 | 区域共享      | 老旧机型     |
+
+### 4.3 同步分组原则
+
+- 物理相邻的摄像头归入同一同步组
+- 每组 3-6 路视频为宜
+- 同组摄像头时钟误差 <100ms
+
+---
+
+## 五、可能出现的问题
+
+### 5.1 技术风险
+
+| 风险               | 影响   | 概率 | 缓解措施                         |
+| ------------------ | ------ | ---- | -------------------------------- |
+| **摄像头协议不兼容** | 接入失败 | 高   | 预留协议适配层,优先支持ONVIF标准 |
+| **时钟漂移导致不同步** | 回放错位 | 中   | 定期NTP校准+漂移检测告警          |
+| **网络带宽瓶颈**   | 回放卡顿 | 中   | 边缘转码+自适应码率+本地缓存      |
+| **存储容量超预期** | 成本上升 | 中   | 智能保留策略+动态码率调整         |
+| **AI误报率高**     | 人工负担 | 高   | 阈值可调,MVP以人工标注为主       |
+| **视频编解码兼容性** | 播放失败 | 中   | 统一转码H.265,保留H.264回退      |
+
+### 5.2 业务风险
+
+| 风险               | 影响     | 概率 | 缓解措施                         |
+| ------------------ | -------- | ---- | -------------------------------- |
+| **隐私合规审查延迟** | 功能延期 | 高   | 人脸识别等敏感功能后置到Phase 3   |
+| **用户习惯改变困难** | 推广受阻 | 中   | 渐进式培训+操作手册               |
+| **需求变更频繁**   | 进度延误 | 中   | 明确MVP范围,变更走评审流程       |
+
+### 5.3 运维风险
+
+| 风险               | 影响     | 概率 | 缓解措施                         |
+| ------------------ | -------- | ---- | -------------------------------- |
+| **设备故障**       | 视频丢失 | 低   | 故障告警+冗余存储                 |
+| **数据泄露**       | 法律风险 | 低   | 加密存储+访问审计+应急预案        |
+| **灾难恢复**       | 业务中断 | 低   | 定期备份+异地容灾(Phase 2)        |
+
+---
+
+## 六、前端开发计划
+
+### 6.1 技术栈
+
+| 类别     | 技术             | 版本   |
+| -------- | ---------------- | ------ |
+| 框架     | Vue 3            | 3.5.x  |
+| 构建     | Vite             | 7.2.x  |
+| 语言     | TypeScript       | 5.9.x  |
+| UI       | Element Plus     | 2.13.x |
+| 状态管理 | Pinia            | 3.0.x  |
+| 视频播放 | HLS.js / flv.js  | latest |
+| 图表     | ECharts          | 5.x    |
+
+### 6.2 MVP阶段 (Month 1-3)
+
+#### 核心页面
+
+| 页面           | 功能                         | 优先级 |
+| -------------- | ---------------------------- | ------ |
+| 登录页         | 用户认证                     | P0     |
+| 摄像头管理     | CRUD、分组、状态监控         | P0     |
+| **同步回放页** | 多画面播放、时间轴、联动控制 | P0     |
+| 书签管理       | 创建、编辑、检索书签         | P1     |
+| 视频导出       | 片段选择、水印、下载         | P1     |
+| 用户权限       | 管理员/操作员角色管理        | P0     |
+
+#### 同步回放页核心功能
+
+```
+┌─────────────────────────────────────────────────────────────┐
+│  [检索栏] 日期 | 时间 | 机台号 | 事件类型        [搜索]     │
+├─────────────────────────────────────────────────────────────┤
+│  ┌────────────────────┐  ┌────────────────────┐             │
+│  │                    │  │                    │  [摄像头]   │
+│  │     主画面 (大)    │  │     副画面 1       │  □ CAM-01 ✓│
+│  │     CAM-01         │  │     CAM-02         │  □ CAM-02 ✓│
+│  │                    │  │                    │  □ CAM-03 ✓│
+│  └────────────────────┘  ├────────────────────┤  □ CAM-04  │
+│                          │     副画面 2       │             │
+│  [⏮][⏪][▶/⏸][⏩][⏭]   │     CAM-03         │             │
+│  速度: [0.5x][1x][2x]    │                    │             │
+│                          └────────────────────┘             │
+├─────────────────────────────────────────────────────────────┤
+│  时间轴 (可缩放: 1分钟 ~ 24小时)                             │
+│  14:00      14:15      14:30      14:45      15:00         │
+│  ├──────────┼──────────┼──────────┼──────────┼─────────    │
+│  CAM-01 ████████████████████████████████████               │
+│  CAM-02 ████████████████████████████████████               │
+│  事件   ▲纠纷      ★书签      ●动检                         │
+├─────────────────────────────────────────────────────────────┤
+│  书签: [+ 添加]  📌 14:23:45 - 客户投诉  📌 14:25:12 - 大当 │
+└─────────────────────────────────────────────────────────────┘
+```
+
+#### 前端开发任务清单
+
+| 任务                   | 预估工作量 | 依赖项       |
+| ---------------------- | ---------- | ------------ |
+| 项目初始化/架构搭建    | 2天        | -            |
+| 登录/权限模块          | 3天        | API ready    |
+| 摄像头管理CRUD         | 5天        | API ready    |
+| 视频播放器组件(HLS)    | 5天        | 流媒体服务   |
+| 多画面同步播放引擎     | 8天        | 播放器组件   |
+| 时间轴组件             | 5天        | -            |
+| 书签/标注系统          | 4天        | API ready    |
+| 视频导出功能           | 3天        | API ready    |
+| 检索/筛选功能          | 4天        | API ready    |
+| 整体联调测试           | 5天        | 全部模块     |
+
+### 6.3 Phase 2 (Month 4-6)
+
+| 功能           | 描述                     |
+| -------------- | ------------------------ |
+| 事件标签系统   | 分类标签、高级检索       |
+| 告警中心       | 实时告警展示、推送通知   |
+| 审计日志页面   | 操作记录查询             |
+| 移动端适配     | 响应式布局或独立H5       |
+| 仪表盘/统计    | 存储使用、事件统计图表   |
+| 人脸模糊导出   | 导出时自动模糊非相关人员 |
+
+### 6.4 Phase 3 (Month 7-12)
+
+| 功能           | 描述                     |
+| -------------- | ------------------------ |
+| 人物追踪页面   | 跨摄像头追踪可视化       |
+| 多店管理       | 店铺切换、集团统计       |
+| 智能摘要       | AI生成事件时间线         |
+| 3D空间回放     | 可选高级功能             |
+
+---
+
+## 七、后端开发计划
+
+### 7.1 技术栈
+
+| 类别       | 技术                   | 说明                   |
+| ---------- | ---------------------- | ---------------------- |
+| 框架       | Hono                   | 现有项目基础           |
+| 运行时     | Cloudflare Workers     | 边缘计算               |
+| 数据库     | D1 / PostgreSQL        | 元数据存储             |
+| 对象存储   | R2 / S3                | 视频冷存储             |
+| 流媒体     | Cloudflare Stream / 自建 | 视频转码与分发       |
+| 消息队列   | Workers Queue          | 异步任务               |
+| 缓存       | KV / Redis             | 热数据缓存             |
+
+### 7.2 MVP阶段 (Month 1-3)
+
+#### 核心API
+
+| 模块           | API                         | 优先级 |
+| -------------- | --------------------------- | ------ |
+| 认证           | `/api/auth/*`               | P0     |
+| 用户管理       | `/api/users/*`              | P0     |
+| 摄像头管理     | `/api/cameras/*`            | P0     |
+| 同步组管理     | `/api/sync-groups/*`        | P0     |
+| 视频回放       | `/api/playback/*`           | P0     |
+| 书签管理       | `/api/bookmarks/*`          | P1     |
+| 视频导出       | `/api/export/*`             | P1     |
+| 时间轴数据     | `/api/timeline/*`           | P0     |
+
+#### 后端开发任务清单
+
+| 任务                     | 预估工作量 | 依赖项         |
+| ------------------------ | ---------- | -------------- |
+| 数据库Schema设计         | 2天        | -              |
+| 认证/权限模块            | 3天        | -              |
+| 摄像头CRUD API           | 3天        | 数据库         |
+| 同步组管理API            | 2天        | 摄像头API      |
+| RTSP接入网关             | 8天        | 摄像头硬件     |
+| 视频转码服务             | 5天        | RTSP网关       |
+| HLS流媒体服务            | 5天        | 转码服务       |
+| 时间轴索引服务           | 5天        | 视频录制       |
+| 书签/标注API             | 3天        | 数据库         |
+| 视频导出API              | 4天        | 流媒体服务     |
+| NTP时钟同步服务          | 3天        | -              |
+| 整体联调测试             | 5天        | 全部模块       |
+
+### 7.3 Phase 2 (Month 4-6)
+
+| 功能               | 描述                       |
+| ------------------ | -------------------------- |
+| 分层存储服务       | 热→温→冷自动迁移           |
+| 事件标签API        | 分类标签、全文检索         |
+| 高级检索引擎       | 多条件组合查询             |
+| 审计日志服务       | 操作记录、查询接口         |
+| 实时告警推送       | WebSocket/SSE推送          |
+| 视频马赛克服务     | 导出时人脸模糊处理         |
+| 存储生命周期管理   | 自动删除/归档              |
+
+### 7.4 Phase 3 (Month 7-12)
+
+| 功能               | 描述                       |
+| ------------------ | -------------------------- |
+| AI检测服务         | 边缘推理、异常行为识别     |
+| 人物追踪引擎       | 跨摄像头ReID               |
+| 多店管理API        | 店铺隔离、集团汇总         |
+| 外部系统集成       | POS/会员系统对接           |
+
+---
+
+## 八、存储与保留策略
+
+### 8.1 分层存储架构
+
+| 层级       | 存储介质      | 保留期    | 访问延迟 | 码率       |
+| ---------- | ------------- | --------- | -------- | ---------- |
+| **热层**   | SSD/NVR       | 7天       | <100ms   | 原始8Mbps  |
+| **温层**   | HDD RAID      | 30天      | <1s      | 转码2Mbps  |
+| **冷层**   | 对象存储      | 90-180天  | 分钟级   | 归档1Mbps  |
+| **永久层** | 深度归档      | 1年+      | 小时级   | 关键帧only |
+
+### 8.2 容量估算 (80路摄像头)
+
+| 参数          | 数值                      |
+| ------------- | ------------------------- |
+| 摄像头数量    | 80路                      |
+| 平均码率      | 4Mbps                     |
+| 每日数据量    | **3.4TB/天**              |
+| 热存储(7天)   | ~24TB                     |
+| 温存储(30天)  | ~50TB (转码后)            |
+| 冷存储(90天)  | ~75TB (归档后)            |
+
+### 8.3 生命周期策略
+
+```
+录制 → 热层(7d) → 温层(30d) → 冷层(90d) → 删除/永久归档
+                       ↓
+              [有事件标签] → 延长保留 / 永久归档
+```
+
+---
+
+## 九、合规清单 (日本法规)
+
+### 9.1 法律框架
+
+| 法规               | 要求                   | 对策                  |
+| ------------------ | ---------------------- | --------------------- |
+| **個人情報保護法** | 个人信息收集须告知目的 | 店内明显位置张贴告示  |
+| **風営法**         | パチンコ店特定监控要求 | 依规保留期限+监管报备 |
+| **肖像権**         | 未经同意不得公开面部   | 导出时自动马赛克选项  |
+| **労働基準法**     | 员工监控须事先告知     | 劳动合同明确条款      |
+
+### 9.2 合规检查清单
+
+- [ ] **告知公示**: 入口处设置"防犯カメラ作動中"标识
+- [ ] **目的限定**: 明确"防犯・安全管理"用途
+- [ ] **保留期限**: 普通视频 ≤90天,涉案视频按案件期限
+- [ ] **访问控制**: 分级权限(店长/主任/一般员工)
+- [ ] **数据加密**: 存储加密(AES-256) + 传输加密(TLS)
+- [ ] **马赛克功能**: 导出前非相关人员面部自动模糊
+- [ ] **删除机制**: 超期自动删除,删除日志可追溯
+- [ ] **跨境限制**: 数据不出日本境内
+- [ ] **审计日志**: 所有访问操作记录保留3年
+- [ ] **第三方提供**: 警察要求需正式书面请求(令状)
+
+---
+
+## 十、项目里程碑
+
+```
+Month 0    Month 3      Month 6      Month 9      Month 12
+   │          │            │            │            │
+   ▼          ▼            ▼            ▼            ▼
+ 启动       MVP上线     Phase2上线   移动端Beta   Phase3上线
+            ├─多路接入   ├─分层存储   ├─人脸识别   ├─多店管理
+            ├─同步回放   ├─事件标签   └─移动端     ├─人物追踪
+            ├─时间轴     ├─高级检索                └─AI检测
+            ├─书签系统   ├─AI告警
+            └─基础权限   └─审计日志
+```
+
+---
+
+## 十一、关键架构决策
+
+| 决策点       | 选项A     | 选项B       | **决策**     | 理由                               |
+| ------------ | --------- | ----------- | ------------ | ---------------------------------- |
+| 存储位置     | 全云端    | 本地+云混合 | **混合**     | 热数据本地保证延迟,冷数据云端降成本 |
+| 视频编码     | 保持原始  | 统一转码    | **统一转码** | H.265统一格式便于回放兼容           |
+| 时钟同步     | 硬件PTP   | 软件NTP     | **软件NTP**  | MVP阶段100ms精度够用,硬件成本高    |
+| AI部署       | 云端推理  | 边缘推理    | **边缘**     | 减少带宽,保护隐私                  |
+| 人脸识别时机 | Phase 2   | Phase 3     | **Phase 3**  | 需充分合规准备,审批耗时            |
+| 摄像头布局   | 单机双摄  | 混合策略    | **混合策略** | ROI最优,灵活配置                   |
+
+---
+
+## 十二、成本估算 (单店80路)
+
+| 项目           | 初期投入       | 月度运营       |
+| -------------- | -------------- | -------------- |
+| 摄像头设备     | ¥3,000,000     | -              |
+| 本地服务器/NVR | ¥1,500,000     | ¥30,000 (维护) |
+| 网络改造       | ¥500,000       | ¥50,000 (专线) |
+| 软件授权       | ¥800,000       | ¥80,000 (订阅) |
+| 云存储(冷)     | -              | ¥100,000       |
+| **合计**       | **¥5,800,000** | **¥260,000**   |
+
+---
+
+## 十三、下一步行动
+
+### 立即行动
+
+- [ ] 确认摄像头品牌型号及协议支持(ONVIF/RTSP)
+- [ ] 确认机台信号接口规范
+- [ ] 启动合规审查
+- [ ] 完成MVP技术选型
+
+### MVP启动前
+
+- [ ] 前后端API接口定义
+- [ ] 数据库Schema设计
+- [ ] 流媒体服务选型确认
+- [ ] 测试环境搭建
+
+---
+
+_文档版本: v3.0 | 最后更新: 2026-01-16_