|
|
@@ -1,23 +1,25 @@
|
|
|
{
|
|
|
"nodes":[
|
|
|
- {"id":"hono_backend","type":"text","text":"**tg-live-game-hono**\n后端API服务\n\n技术栈:Hono + Cloudflare Workers\n\n功能:\n- 视频管理 CRUD\n- 直播管理 CRUD\n- Cloudflare Stream API 封装\n\n端口:localhost:8787","x":-1190,"y":-598,"width":280,"height":200,"color":"4"},
|
|
|
+ {"id":"hono_backend","type":"text","text":"**tg-live-game-hono**\n后端API服务\n\n技术栈:Hono + Cloudflare Workers + D1\n\n功能:\n- 认证系统 (JWT) ✅\n- 用户管理 (RBAC) ✅\n- 摄像头管理 CRUD ✅\n- 会话管理 ✅\n- 观看统计 ✅\n- 审计日志 ✅\n- Stream API 封装 ✅\n\n端口:localhost:8787","x":-1190,"y":-658,"width":300,"height":280,"color":"4"},
|
|
|
+ {"id":"d1_database","type":"text","text":"**Cloudflare D1**\n数据库\n\n表结构:\n- users (用户)\n- user_permissions (权限)\n- cameras (摄像头)\n- live_sessions (会话)\n- videos (视频)\n- view_stats (统计)\n- audit_logs (日志)\n\n状态:✅ 已部署","x":-1190,"y":-300,"width":300,"height":260,"color":"4"},
|
|
|
{"id":"java_service","type":"text","text":"**Java进程管理**\n(待开发)\n\n功能:\n- FFmpeg进程管理\n- 多路流管理\n- Cloudflare API调用\n\n状态:❌ 待实现","x":-402,"y":200,"width":405,"height":240,"color":"1"},
|
|
|
- {"id":"mac_camera","type":"text","text":"**Mac摄像头**\n\nFaceTime HD Camera\n分辨率:1280x720\n帧率:30fps\n\n状态:✅ 已验证","x":-730,"y":-798,"width":200,"height":140,"color":"3"},
|
|
|
- {"id":"stream_service","type":"text","text":"**tg-live-game-stream-service**\n推流服务\n\n技术栈:Bash + FFmpeg\n\n功能:\n- Mac摄像头推流 ✅\n- Mac屏幕推流 ✅\n- RTSP输入 ❌ 待实现\n- WHIP输出 ❌ 待实现\n\n协议:RTMPS","x":-340,"y":-828,"width":280,"height":200,"color":"2"},
|
|
|
- {"id":"cloudflare_stream","type":"text","text":"**Cloudflare Stream**\n云端视频服务\n\n功能:\n- RTMPS/SRT/WHIP 接收\n- 实时转码\n- HLS/DASH/WHEP 分发\n- 全球CDN\n- 自动录制\n\n账户:5544eac7cfb260d4fec9467d49513cea","x":-340,"y":-220,"width":280,"height":200,"color":"1"},
|
|
|
+ {"id":"mac_camera","type":"text","text":"**Mac摄像头**\n\nFaceTime HD Camera\n分辨率:1280x720\n帧率:30fps\n\n状态:✅ 已验证","x":-730,"y":-898,"width":200,"height":140,"color":"3"},
|
|
|
+ {"id":"stream_service","type":"text","text":"**tg-live-game-stream-service**\n推流服务\n\n技术栈:Bash + FFmpeg\n\n功能:\n- Mac摄像头推流 ✅\n- Mac屏幕推流 ✅\n- RTSP输入 ❌ 待实现\n- WHIP输出 ❌ 待实现\n\n协议:RTMPS","x":-340,"y":-928,"width":280,"height":200,"color":"2"},
|
|
|
+ {"id":"cloudflare_stream","type":"text","text":"**Cloudflare Stream**\n云端视频服务\n\n功能:\n- RTMPS/SRT/WHIP 接收\n- 实时转码\n- HLS/DASH/WHEP 分发\n- 全球CDN\n- 自动录制\n\n账户:5544eac7cfb260d4fec9467d49513cea","x":-340,"y":-320,"width":280,"height":200,"color":"1"},
|
|
|
{"id":"ip_camera","type":"text","text":"**IP摄像头**\n(ONVIF)\n\n协议:RTSP\n\n状态:❌ 待接入","x":-1050,"y":200,"width":350,"height":250,"color":"1"},
|
|
|
{"id":"live_input","type":"text","text":"**当前Live Input**\n\nID: 3c1ae1949e76f200feef94b8f7d093ca\n名称: weathered-limit-6442\n\nRTMPS: rtmps://live.cloudflare.com:443/live\nHLS: customer-pj89kn2ke2tcuh19...","x":260,"y":50,"width":410,"height":220,"color":"4"},
|
|
|
- {"id":"browser","type":"text","text":"**浏览器播放**\n\n播放方式:\n- Cloudflare iframe ✅\n- HLS.js ✅\n- WebRTC/WHEP\n\n延迟:2-5秒 (HLS)","x":260,"y":-240,"width":410,"height":250,"color":"3"},
|
|
|
- {"id":"web_frontend","type":"text","text":"**tg-live-game-web**\n前端应用\n\n技术栈:Vue 3 + TypeScript + Vite\n\n功能:\n- 摄像头管理\n- 直播管理\n- 视频播放 (HLS/iframe)\n- Stream测试页 ✅\n\n端口:localhost:3000","x":260,"y":-658,"width":410,"height":330,"color":"5"},
|
|
|
- {"id":"todo_list","type":"text","text":"## 待办事项\n\n### v2 目标\n- [ ] RTSP输入支持\n- [ ] WHIP输出支持\n- [ ] Java进程管理\n\n### v3 目标\n- [ ] 多路流管理\n- [ ] 自动重连\n- [ ] 监控告警","x":-340,"y":-1280,"width":415,"height":380,"color":"1"},
|
|
|
- {"id":"title","type":"text","text":"# TG Live Game 架构 v1\n\n**日期**: 2024-12-31\n**状态**: POC 验证通过\n\n✅ Mac摄像头 → RTMPS → Cloudflare → Web播放","x":-870,"y":-1280,"width":450,"height":380,"color":"6"}
|
|
|
+ {"id":"browser","type":"text","text":"**浏览器播放**\n\n播放方式:\n- Cloudflare iframe ✅\n- HLS.js ✅\n- Jessibuca ✅\n- WebRTC/WHEP\n\n延迟:2-5秒 (HLS)","x":260,"y":-340,"width":410,"height":250,"color":"3"},
|
|
|
+ {"id":"todo_list","type":"text","text":"## 待办事项\n\n### v1.1 优化\n- [ ] 仪表盘统计\n- [ ] 观看统计展示\n- [ ] 审计日志查看\n\n### v2 目标\n- [ ] RTSP输入支持\n- [ ] WHIP输出支持\n- [ ] Java进程管理\n\n### v3 目标\n- [ ] 多路流管理\n- [ ] 自动重连\n- [ ] 监控告警","x":-340,"y":-1380,"width":415,"height":380,"color":"1"},
|
|
|
+ {"id":"title","type":"text","text":"# TG Live Game 架构 v1\n\n**日期**: 2026-01-06\n**状态**: v1 功能完成\n\n✅ Mac摄像头 → RTMPS → Cloudflare → Web播放\n✅ 用户认证 + 权限管理 (RBAC)\n✅ 摄像头/视频/直播 CRUD\n✅ 观看统计 + 审计日志","x":-870,"y":-1380,"width":450,"height":380,"color":"6"},
|
|
|
+ {"id":"web_frontend","type":"text","text":"**tg-live-game-web**\n前端应用\n\n技术栈:Vue 3 + TypeScript + Vite + Element Plus\n\n功能:\n- 登录认证 ✅\n- 摄像头管理 ✅\n- 视频管理 ✅\n- 直播管理 ✅\n- 用户管理 (RBAC) ✅\n- Stream配置 ✅\n- Stream测试页 ✅\n\n端口:localhost:3001","x":260,"y":-960,"width":410,"height":413,"color":"5"}
|
|
|
],
|
|
|
"edges":[
|
|
|
{"id":"edge_mac_stream","fromNode":"mac_camera","fromSide":"right","toNode":"stream_service","toSide":"left","label":"AVFoundation"},
|
|
|
{"id":"edge_stream_cf","fromNode":"stream_service","fromSide":"bottom","toNode":"cloudflare_stream","toSide":"top","label":"RTMPS ✅"},
|
|
|
{"id":"edge_cf_browser","fromNode":"cloudflare_stream","fromSide":"right","toNode":"browser","toSide":"left","label":"HLS ✅"},
|
|
|
- {"id":"edge_hono_cf","fromNode":"hono_backend","fromSide":"bottom","toNode":"cloudflare_stream","toSide":"left","label":"API"},
|
|
|
- {"id":"edge_web_hono","fromNode":"web_frontend","fromSide":"left","toNode":"hono_backend","toSide":"right","label":"/api/stream"},
|
|
|
+ {"id":"edge_hono_cf","fromNode":"hono_backend","fromSide":"bottom","toNode":"d1_database","toSide":"top","label":"D1"},
|
|
|
+ {"id":"edge_hono_stream","fromNode":"hono_backend","fromSide":"right","toNode":"cloudflare_stream","toSide":"left","label":"Stream API"},
|
|
|
+ {"id":"edge_web_hono","fromNode":"web_frontend","fromSide":"left","toNode":"hono_backend","toSide":"right","label":"/api/*"},
|
|
|
{"id":"edge_web_browser","fromNode":"web_frontend","fromSide":"bottom","toNode":"browser","toSide":"top","label":"VideoPlayer"},
|
|
|
{"id":"edge_ip_java","fromNode":"ip_camera","fromSide":"right","toNode":"java_service","toSide":"left","color":"1","label":"RTSP (待实现)"},
|
|
|
{"id":"edge_java_cf","fromNode":"java_service","fromSide":"top","toNode":"cloudflare_stream","toSide":"bottom","color":"1","label":"WHIP (待实现)"},
|