2026-07-16 08:31:52 +08:00
2026-07-16 08:31:52 +08:00
2026-07-16 08:31:52 +08:00
2026-07-16 08:31:52 +08:00
2026-07-16 08:31:52 +08:00

LED 大屏投放平台

面向 14880 x 3510 LED 大屏的双 GPU 服务器投放平台。

当前架构:

控制服务
  -> WebSocket 同步协议
  -> 左 GPU 服务器本地渲染 left tile
  -> 右 GPU 服务器本地渲染 right tile
  -> 每台服务器 4 路 4K 输出
  -> 拼控 / LED 控制器物理拼接

WebSocket 只传场景、动作、时间轴、ACK 和性能指标,不传超大视频流。画面由两台 GPU 服务器各自在本地渲染。

启动

第一次启动:

python -m venv .venv
python -m pip install -r requirements.txt
python -m led_platform.cli serve

已有环境后:

python -m led_platform.cli serve

或者直接用 uvicorn

uvicorn led_platform.main:app --host 0.0.0.0 --port 8000

查看地址:

python -m led_platform.cli urls

常用地址:

生产输出端直接用浏览器打开:

左 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 状态。

项目结构

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

验证

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
S
Description
No description provided
Readme 169 KiB
Languages
Python 39.3%
JavaScript 36.5%
CSS 14.8%
HTML 9.4%