[SEN] 接入成功后自动建立媒体路由并进入实时监看 #51

Closed
opened 2026-08-13 12:01:27 +08:00 by ila · 3 comments
Owner

当前状态:已完成

用户于 2026-08-14 明确验收通过。

基本信息

  • 类型:功能
  • 任务类型:单项目
  • 主项目:Sense
  • 主 agent:主 agent
  • 所属 Epic:#7
  • 所属 MVP / 版本:#8
  • 前置工单:上一张“ONVIF与RTSP分离凭据并持久化Profile”工单、#25、#26
  • write_paths:Sense/server/app/sense/admission/**、Sense/server/app/sense/media/**、Sense/server/app/sense/liveview/**、Sense/server/cmd/sense/modules_*.go、Sense/ui/src/views/sense/admission/**、Sense/ui/src/views/sense/liveview/**、受影响 API/测试、Wiki 镜像与本工单归档。
  • 只读:ip_camera.env;不得提交、修改或输出任何值。

原始需求

  • 来源:用户对话,2026-08-13。
  • 摘要:已接入摄像机没有出现在实时监看;用户确认按“接入成功后自动建立媒体路由并进入实时监看”更新并“建工单,做”。

目标

  • 视频接入成功后为已选主/子 Profile 自动创建期望为 running 的媒体路由并执行对账。
  • 实时监看显示摄像机名称、安装位置、主/子码流和中文状态,不暴露内部 ID。
  • 无可用视频时提供明确下一步;视频服务仍保留为运维排错入口。

非目标

  • 不内置 MediaMTX 二进制;不绕过 MediaMTX 就绪验证;不修改跨项目契约。

已确认方案

  • Admission 完成后调用窄的项目内媒体端口,对 ready Profile 幂等配置路由并对账。
  • 自动路由失败不丢失接入结果,返回可操作状态。
  • Liveview 路由投影补充设备名称/位置/Profile 显示名和 kind。
  • UI 按普通用户路径展示,底层视频服务页面继续提供技术状态。

验收

  • 接入成功后自动产生 running 媒体路由。
  • MediaMTX 可用时对账 ready 并进入实时监看。
  • MediaMTX 不可用时提示明确且可重试,不伪造成功。
  • 实时监看使用业务名称而非 device_id。
  • 真实摄像机完成端到端验证或明确记录外部 MediaMTX 未就绪。
  • 自动化测试、Wiki、安全边界通过。
## 当前状态:已完成 用户于 2026-08-14 明确验收通过。 ## 基本信息 - 类型:功能 - 任务类型:单项目 - 主项目:Sense - 主 agent:主 agent - 所属 Epic:#7 - 所属 MVP / 版本:#8 - 前置工单:上一张“ONVIF与RTSP分离凭据并持久化Profile”工单、#25、#26 - write_paths:`Sense/server/app/sense/admission/**`、`Sense/server/app/sense/media/**`、`Sense/server/app/sense/liveview/**`、`Sense/server/cmd/sense/modules_*.go`、`Sense/ui/src/views/sense/admission/**`、`Sense/ui/src/views/sense/liveview/**`、受影响 API/测试、Wiki 镜像与本工单归档。 - 只读:`ip_camera.env`;不得提交、修改或输出任何值。 ## 原始需求 - 来源:用户对话,2026-08-13。 - 摘要:已接入摄像机没有出现在实时监看;用户确认按“接入成功后自动建立媒体路由并进入实时监看”更新并“建工单,做”。 ## 目标 - 视频接入成功后为已选主/子 Profile 自动创建期望为 running 的媒体路由并执行对账。 - 实时监看显示摄像机名称、安装位置、主/子码流和中文状态,不暴露内部 ID。 - 无可用视频时提供明确下一步;视频服务仍保留为运维排错入口。 ## 非目标 - 不内置 MediaMTX 二进制;不绕过 MediaMTX 就绪验证;不修改跨项目契约。 ## 已确认方案 - Admission 完成后调用窄的项目内媒体端口,对 ready Profile 幂等配置路由并对账。 - 自动路由失败不丢失接入结果,返回可操作状态。 - Liveview 路由投影补充设备名称/位置/Profile 显示名和 kind。 - UI 按普通用户路径展示,底层视频服务页面继续提供技术状态。 ## 验收 - [ ] 接入成功后自动产生 running 媒体路由。 - [ ] MediaMTX 可用时对账 ready 并进入实时监看。 - [ ] MediaMTX 不可用时提示明确且可重试,不伪造成功。 - [ ] 实时监看使用业务名称而非 device_id。 - [ ] 真实摄像机完成端到端验证或明确记录外部 MediaMTX 未就绪。 - [ ] 自动化测试、Wiki、安全边界通过。
ila added the kind/taskproject/sensescope/independentpriority/p0 labels 2026-08-13 12:01:27 +08:00
Author
Owner

实施范围细化(2026-08-13,属于已确认目标内):为避免跨模块泄露内部对象,新增只读的设备展示投影端口;接入结果持久化媒体自动配置状态。补充 write_paths:Sense/server/app/sense/device/credential_port.go、Sense/server/app/sense/admission/migration.go、Sense/server/app/sense/admission/store.go。不返回凭据,不改变设备所有权或跨项目边界。

实施范围细化(2026-08-13,属于已确认目标内):为避免跨模块泄露内部对象,新增只读的设备展示投影端口;接入结果持久化媒体自动配置状态。补充 write_paths:`Sense/server/app/sense/device/credential_port.go`、`Sense/server/app/sense/admission/migration.go`、`Sense/server/app/sense/admission/store.go`。不返回凭据,不改变设备所有权或跨项目边界。
ila referenced this issue from a commit 2026-08-13 12:42:21 +08:00
ila referenced this issue from a commit 2026-08-13 12:42:24 +08:00
ila referenced this issue from a commit 2026-08-13 12:42:25 +08:00
ila referenced this issue from a commit 2026-08-13 12:42:26 +08:00
ila referenced this issue from a commit 2026-08-13 12:42:27 +08:00
Author
Owner

实施完成,状态:待验收。

PR:#53 #53

实现证据:

  • ready Profile 自动按 Device/Profile 幂等建立并立即对账媒体路径。
  • MediaMTX 不可用时设备接入保持 ready,媒体结果持久化为 needs_attention,界面返回安全排错提示。
  • 实时监看投影设备名称、位置、Profile 名称及主/子码流用途,不显示内部 ID 作为主标签。
  • Wiki 架构、业务规则、排错与 Task-51 待验收归档已更新。

验证:

  • go test ./...:通过。
  • 前端 lint:0 error(806 个既有 warning)。
  • 前端 build:通过(既有 webpack 体积 warning)。
  • Go 1.26.5 Windows 打包:通过。
  • 真实摄像机脱敏验证:接入 ready,2 个 ready Profile,自动生成 2 条媒体路径,所有路径均有业务设备名和 Profile 用途。

未验证:当前环境没有可用 MediaMTX 二进制,真实 WebRTC 画面未验证。该状态已按设计安全降级,不影响设备接入和路径建立。

文档校验:MCP 已读取确认 Wiki;本地同步脚本因其旧 Gitea 地址返回 404 无法在线校验。严格 Harness 仅剩既有 #44 归档缺少“最终方案”章节,与本工单无关。

实施完成,状态:待验收。 PR:#53 https://git.ilapage.cn/ila/yovision/pulls/53 实现证据: - ready Profile 自动按 Device/Profile 幂等建立并立即对账媒体路径。 - MediaMTX 不可用时设备接入保持 ready,媒体结果持久化为 needs_attention,界面返回安全排错提示。 - 实时监看投影设备名称、位置、Profile 名称及主/子码流用途,不显示内部 ID 作为主标签。 - Wiki 架构、业务规则、排错与 Task-51 待验收归档已更新。 验证: - `go test ./...`:通过。 - 前端 lint:0 error(806 个既有 warning)。 - 前端 build:通过(既有 webpack 体积 warning)。 - Go 1.26.5 Windows 打包:通过。 - 真实摄像机脱敏验证:接入 ready,2 个 ready Profile,自动生成 2 条媒体路径,所有路径均有业务设备名和 Profile 用途。 未验证:当前环境没有可用 MediaMTX 二进制,真实 WebRTC 画面未验证。该状态已按设计安全降级,不影响设备接入和路径建立。 文档校验:MCP 已读取确认 Wiki;本地同步脚本因其旧 Gitea 地址返回 404 无法在线校验。严格 Harness 仅剩既有 #44 归档缺少“最终方案”章节,与本工单无关。
Author
Owner

用户验收通过(2026-08-14)

用户已明确确认当前未验收工单通过验收。本工单的实现、测试与既有证据按记录接受,Wiki 归档状态已更新为“已完成”(revision 8046212ee212)。该交付属于重建前历史实现;Wiki 归档已完成,代码与原归档镜像继续保留在 explore 追溯。

此验收不改变 #58 的架构决定:旧自研基础框架不会恢复为 dev 基线,Sense/Bell 后续仍分别由 #61/#62 从冻结 GoAdmin 源码重建。

## 用户验收通过(2026-08-14) 用户已明确确认当前未验收工单通过验收。本工单的实现、测试与既有证据按记录接受,Wiki 归档状态已更新为“已完成”(revision `8046212ee212`)。该交付属于重建前历史实现;Wiki 归档已完成,代码与原归档镜像继续保留在 `explore` 追溯。 此验收不改变 #58 的架构决定:旧自研基础框架不会恢复为 `dev` 基线,Sense/Bell 后续仍分别由 #61/#62 从冻结 GoAdmin 源码重建。
ila closed this issue 2026-08-14 10:06:50 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ila/yovision#51