Getting started
Try it with the simulation (no GPU)
Section titled “Try it with the simulation (no GPU)”You need Docker with Compose.
git clone https://github.com/eyesonplay/eyesonplay.gitcd eyesonplaydocker compose up --buildOpen http://localhost:3000 and sign in with the local development account admin@example.com / eyesonplay-admin.
- Click New match.
- Paste any HLS URL, for example
https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8. - Press Create & start processing.
The worker runs in INFERENCE_MODE=mock: a simulated football match (or tennis
rally, if you choose tennis) is projected through a synthetic broadcast camera
and fed through the real tracking and event pipeline. Every part of the
dashboard works, but the detections are not related to the video’s content.
| URL | |
|---|---|
| http://localhost:3000 | Dashboard |
| http://localhost:8000/docs | API docs (OpenAPI) |
ws://localhost:8000/ws/matches/{id} |
Live feed (signed in) |
Analyse real video
Section titled “Analyse real video”Real analysis needs model weights and, for live speed, a GPU:
# NVIDIA GPU (needs the NVIDIA Container Toolkit)docker compose -f docker-compose.yml -f docker-compose.gpu.yml up --build# CPU (slow, any machine)docker compose -f docker-compose.yml -f docker-compose.real.yml up --buildThen set the match’s sport and detection model:
- Football: Ball + Players + Pitch with the pitch keypoint model for the mini pitch.
- Tennis: Ball + Players + Court, 25 fps.
See Football, Tennis and Third-party software and models for the weights.
On a Mac, Docker cannot use the Apple GPU. Run the worker natively against the Docker stack instead; the README has the commands.