01 / CONNECT
A clear view is a good start.
Connect a local source
Use the image or video endpoint, rather than the recorder’s dashboard.
HTTP Basic/Digest credentials use the fields above. RTSP credentials belong in its local source URL. Blue Iris secure-session mode may need a restricted relay; see the guide.
Start with a photo
No compatible live feed yet? Export a full-resolution JPEG from your recorder, or take a photo with the camera in its final position.
Photo calibration and export also work without the local connector. Training and live capture require it.
Find the right camera connection ↗02 / CALIBRATE
Tell us where the cloth begins.
Click the four inside cushion corners, in this order: top left → top right → bottom right → bottom left. Mark the playing surface, not the wooden outer frame.
No corners marked. Connect a camera or choose a photo first.
Fine-tune corners numerically
Coordinates run from 0 to 1 across the full image. This also provides a keyboard alternative to clicking.
03 / TEACH
Same game. Different ball set.
Select a label, then drag a tight box around that ball. Repeat for every visible ball. Use a straightened image consistently for every training capture.
Scatter the balls between captures. Use a new session name when the arrangement or lighting changes. Minimum: six labelled examples of each class across three independent sessions.
The local model learns camera-specific colour and appearance. Number reading is harder: export the labelled dataset for detector training when this baseline is insufficient.
04 / CHECK
Trust the test, not the guess.
Capture a new arrangement that was never used for training. Check every ball near the cushions, pockets, shadows and bright reflections.
Repeated reds and yellows are allowed. Unknowns and touching-ball clusters are reported for review. This is a setup and detection tool; it does not confirm pots, fouls or scores.
05 / TAKE IT WITH YOU
One setup. A few ways to use it.
Keep your calibration
Export the corners, ball set, radius and camera name. Source credentials are excluded.
Train a larger detector
Export labelled images and YOLO boxes with capture sessions kept together. Follow the guide to train, evaluate and version the model.
Advanced training instructions ↗Your local output
The local connector can serve one stable MJPEG URL with a real, AI or hybrid view. Connect a source and calibrate it. A trained model is required only for AI or hybrid views.
Loopback output: http://127.0.0.1:8765/table.mjpg (default port). Only accessible on this computer. Use a reviewed authenticated relay for other displays.
Need data for another app? The package includes forward_observations.py, an optional JSON forwarding adapter. Configure your own HTTPS destination locally.
Connect to CueTracker
In 8 Ball or KellyPool, open your club’s Venue Display settings. Use a browser-compatible camera output such as MJPEG. The existing Umbrel stream can keep one URL while its selected view changes.
This field documents your chosen output; Use the simple setup page to create a temporary viewing link. Camera Studio does not change your club settings.
Subdomain and rollout instructions ↗Your table goes here.
Connect a source or upload a photo to get started.