A camera operator made of software · every number on this page was measured on real footage

One wide shot in.
A broadcast out.

BallTrack AI takes a wide, static-camera recording of a match and renders a broadcast-style video: a neural network finds the ball on every frame and drives a virtual camera that pans and zooms to follow the play — no operator, no motorized rig. It’s built for FullField Stitch panoramas, and works with any wide, fixed-camera match footage.

The wide static frame — the whole field, all the time Virtual camera — follows the ball renders to 2560 × 1440 broadcast MP4

How it works, at a glance. The camera never moves — the software crops a moving window out of the wide frame and follows the ball with it, the way a broadcast operator would pan and zoom. This is a schematic, not a screenshot.

What it actually does

Point one wide camera at the whole field and press record. BallTrack AI does the rest of a broadcast crew’s job — in a few passes, offline, on your own machine.

Finds the ball, frame by frame

A neural network runs on every frame to locate the ball and the players. It uses predicted-position crops, a tile pass over the far side of the field, and a zoom-in re-acquisition search when the ball is briefly lost — the whole reason it can find a ball that’s only a handful of pixels wide at the far touchline.

Moves the camera like an operator

The ball positions drive a virtual camera path that is smoothed with a look-ahead filter, so it starts panning before the ball arrives and ignores a one-frame blip. When the ball is lost it holds or pans smoothly rather than snapping around — the difference between footage you can watch and footage that makes you seasick.

Six steps, one wizard

The app walks you through the whole pipeline in order. You draw the field once, tell it the ball color, and let it run.

1

Upload

Drop in the wide match video — a FullField Stitch panorama, or any wide, fixed-camera recording. Up to 20 GB.

2

Field Setup

Click the pitch boundary, the two goal mouths, and a horizon line. This masks out the stands and levels the output.

3

Ball Color

Pick the ball’s color from a set of presets, and optionally click its kickoff position to seed the tracker.

4

Process

Set the number of detection workers (auto-capped to your GPU) and run. This is the long pass — detection, then camera path.

5

Review

Scrub the result, jump to any frame where the ball was lost, and click to correct it. Corrections re-render in minutes, not hours.

6

Download

Export the finished broadcast-style MP4 — 2560×1440, H.264, NVENC-encoded.

An honest look at the tracking

Following a ball that’s often a few pixels wide, across a whole field, is genuinely hard. Here’s what the app does well, what it doesn’t, and why the Review step exists.

The detector finds the ball directly in about 1 in 5 frames

On a measured 30-minute half, the neural network placed the ball directly in roughly 20% of frames. That sounds low until you see the output: the remaining frames are filled by interpolating between real detections and by the look-ahead smoothing, so the camera stays on the play far more often than the raw detection rate suggests. A ball sitting still, or one that’s tiny and far away, is simply hard for any detector — this is a recall ceiling, not a tuning bug.

The Review step is part of the workflow, not a fallback

Because some misses are unavoidable, the app is built around fixing them fast. Review jumps you straight to each stretch where the ball was lost; one click drops a correction, and re-rendering with your corrections skips detection entirely — it reruns only the camera path and the final encode, which took about 23 minutes on the reference machine instead of the full run. Plan on a review pass; that’s how you get broadcast-quality framing.

Every number here was measured on one machine

The figures on this page come from real production runs on a single reference PC — an RTX 3090. They are honest, but they describe that card. A slower or smaller GPU will be slower, and we say so plainly rather than quoting a spec we haven’t run.

What a match costs, measured

Times from real 30-minute halves on the reference RTX 3090, with the GPU-specific optimization the app builds on first run.

~1 h 45 m end-to-end for a 30-minute half
2560×1440 H.264 output, NVENC-encoded
~23 m to re-render after Review corrections

The heavy pass is detection (about 80 minutes for a half on the reference card with its optimization built); the render adds roughly 27 minutes. On first launch the app spends a few minutes building that GPU optimization for your specific card — a one-time step. Without it, expect a detection pass closer to three hours.

What you need to run it

BallTrack AI runs a neural network on every frame, on CUDA. That makes an NVIDIA GPU a hard requirement — the one number that isn’t negotiable.

An NVIDIA GPU, 16 GB or more Required

The detector runs on CUDA, so an NVIDIA GPU is required, not optional. The app reads your card’s memory and caps the number of detection workers automatically — more VRAM means more parallel workers and a faster run. 16 GB is the supported floor; the pipeline and its measured numbers were validated on a 24 GB card, and cards below 16 GB are treated as experimental.

There is no CPU or Apple-Silicon path fast enough to process a full match — the app is built for an NVIDIA GPU and nothing else.

Windows, and about 6–7 GB of disk

A Windows 10/11 installer that runs entirely per-user — no admin prompt. On first launch it downloads its runtime once (needs internet that one time) and asks where to keep your match files; a full match runs to tens of gigabytes, so you point it at a drive with room.

Everything after that is offline and on your machine — your footage never leaves the building.

Made for FullField Stitch panoramas

The two apps are one pipeline. The stitcher turns two cameras into a single wide master; BallTrack AI turns that master into a broadcast.

FullField Stitch

Two action cameras on a pole become one continuous, full-field panorama — the wide master that sees the whole pitch at once.

BallTrack AI

Reads that master once and cuts a moving broadcast view from it — the whole field is always in frame, so nothing is ever off-camera.

You don’t need the stitcher to use BallTrack AI — any wide, fixed-camera recording works — but a stitched panorama is the ideal input, because a detector can only follow a ball it can see. See how the stitcher works →

Break the sports-tracker monopoly

BallTrack AI is free, everything runs on your own machine, and the performance numbers are public. It exists so a small club can have broadcast footage without a broadcast budget.