Init
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# LED 大屏投放平台
|
||||
|
||||
面向 `14880 x 3510` LED 大屏的双 GPU 服务器投放平台。
|
||||
|
||||
当前架构:
|
||||
|
||||
```text
|
||||
控制服务
|
||||
-> WebSocket 同步协议
|
||||
-> 左 GPU 服务器本地渲染 left tile
|
||||
-> 右 GPU 服务器本地渲染 right tile
|
||||
-> 每台服务器 4 路 4K 输出
|
||||
-> 拼控 / LED 控制器物理拼接
|
||||
```
|
||||
|
||||
WebSocket 只传场景、动作、时间轴、ACK 和性能指标,不传超大视频流。画面由两台 GPU 服务器各自在本地渲染。
|
||||
|
||||
## 启动
|
||||
|
||||
第一次启动:
|
||||
|
||||
```bash
|
||||
python -m venv .venv
|
||||
python -m pip install -r requirements.txt
|
||||
python -m led_platform.cli serve
|
||||
```
|
||||
|
||||
已有环境后:
|
||||
|
||||
```bash
|
||||
python -m led_platform.cli serve
|
||||
```
|
||||
|
||||
或者直接用 uvicorn:
|
||||
|
||||
```bash
|
||||
uvicorn led_platform.main:app --host 127.0.0.1 --port 8000
|
||||
```
|
||||
|
||||
查看地址:
|
||||
|
||||
```bash
|
||||
python -m led_platform.cli urls
|
||||
```
|
||||
|
||||
常用地址:
|
||||
|
||||
- 控制台:http://127.0.0.1:8000/
|
||||
- 左输出:http://127.0.0.1:8000/output/left
|
||||
- 右输出:http://127.0.0.1:8000/output/right
|
||||
- 健康检查:http://127.0.0.1:8000/healthz
|
||||
- 同步状态:http://127.0.0.1:8000/api/sync/status
|
||||
|
||||
生产输出端直接用浏览器打开:
|
||||
|
||||
```text
|
||||
左 GPU 服务器:http://控制服务IP:8000/output/left
|
||||
右 GPU 服务器:http://控制服务IP:8000/output/right
|
||||
```
|
||||
|
||||
## 操作
|
||||
|
||||
1. 启动控制服务。
|
||||
2. 打开控制台 `http://127.0.0.1:8000/`。
|
||||
3. 左输出端打开 `/output/left`。
|
||||
4. 右输出端打开 `/output/right`。
|
||||
5. 在控制台点击场景切换或局部动作。
|
||||
6. 观察控制台右侧的节点、FPS、frame time、RTT、clock offset、ACK 状态。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```text
|
||||
led_platform/
|
||||
api/ HTTP 和 WebSocket 路由
|
||||
core/ 配置、时钟
|
||||
domain/ 协议和领域模型
|
||||
services/ 场景、tile、同步协调、WebSocket hub
|
||||
web/static/ 控制台和输出端前端
|
||||
main.py FastAPI 应用入口
|
||||
cli.py 跨平台命令行入口
|
||||
runtime.py 应用依赖装配
|
||||
config/
|
||||
scenes.json 场景配置
|
||||
tiles.json 左右 GPU 服务器和 4 路 4K 输出映射
|
||||
tests/
|
||||
test_api.py
|
||||
test_sync.py
|
||||
test_tiles.py
|
||||
```
|
||||
|
||||
## 验证
|
||||
|
||||
```bash
|
||||
python -m pytest -q
|
||||
python -m compileall led_platform tests
|
||||
node --check led_platform/web/static/output/main.js
|
||||
node --check led_platform/web/static/admin/main.js
|
||||
```
|
||||
Reference in New Issue
Block a user