Page:
Product-Requirements-Overview
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
产品需求总览
当前方向
| 状态 | 需求 | 入口 |
|---|---|---|
| 已完成 | 增量接入 DevHarness | 工单 #1 |
| 实现完成、待验收 | 原生轻量 RTSP 管理页面 | 实现工单 #3 · 设计工单 #2 · Quant-UX V1 |
| 实施中 | 管理页轻量登录与 API 认证 | 工单 #4 |
| 实现完成、待验收 | 管理页面设备分页与完整统计 | 工单 #6 |
管理页面能力
- 使用原生 HTML、CSS 和 JavaScript,并由 Go
embed随 MediaMTX 二进制嵌入。 - API 启用后,由同一 API HTTP 服务在
/admin/提供页面,不要求 Node、Nginx、数据库或单独 Web 服务。 - 增加、编辑、删除静态 RTSP / RTSPS 源。
- 展示路径在线、离线、按需待请求状态及读取者数量。
- 默认提供 WebRTC 预览,并可切换 HLS。
- 可以复制 RTSP、HLS、WebRTC 输出地址;端口来自当前全局配置。
- 保持界面小而直接,不扩展为完整 VMS。
- 提供原生轻量登录、当前标签页会话和显式退出;账号权限来自 MediaMTX
authInternalUsers。 - 配置路径与运行路径按每批 100 条完整读取,并以共享并发上限 4 控制请求;统计、搜索和状态筛选覆盖全部设备。
- 浏览器默认每页渲染 50 条,可切换 25 / 50 / 100,并显示范围、总数、当前页及上一页/下一页。
已确认设计基线
- 用户于 2026-08-28(Asia/Shanghai)确认 Quant-UX 原型 V1 通过审核。
- 原型名称:
MediaMTX Stream Console · 原型 V1。 - Quant-UX App ID:
6a90f1d7191a826306a7f403。 - 确认范围:桌面路径列表、添加、编辑、WebRTC/HLS 预览、删除确认、空/加载状态、API 不可达、HTTP 403 权限错误和手机端卡片布局。
- 原型校验:9 个画布、176 个组件、29 条交互连线,Quant-UX consistency verification 为
PASS。 - 生产实现工单为 #3,实现完成后仍需用户明确验收;关键交互变化需重新确认。
安全和权限
/admin/静态资源可匿名加载登录外壳,所有/v3/*Control API 继续强制执行action: api鉴权。- 登录使用 HTTP Basic 验证,Authorization 只保存在当前标签页
sessionStorage,401 时清除并返回登录页。 - 当前阶段允许可信局域网通过 HTTP 访问;HTTP 不加密凭据,禁止公网/NAT 暴露,HTTPS 作为后续独立需求。
- 页面列表和帮助文字只保存脱敏后的 RTSP 地址;编辑时源地址留空可保留既有凭据。
- 页面不使用 localStorage 保存敏感值,不把动态数据直接注入
innerHTML。 - 页面静态响应包含 CSP、nosniff、referrer policy 和同源 frame 限制。
- 真实摄像头地址、用户名、密码和 Token 不进入源码、测试、Wiki 或工单。
非目标
- 不做视频转码编辑器。
- 不做录像检索、磁盘管理、告警中心或多租户系统。
- 不复制 MediaMTX 所有全局配置为大型后台。
- 不允许匿名用户修改路径配置。
- 不承诺浏览器支持摄像头输出的所有编码。
- 不由管理页代理媒体数据。
验收入口
管理页面主体以 #3 为准,登录与认证以 #4 为准,分页与完整统计以 #6 为准;本页只维护长期需求索引,不替代单元工单。