Hockey tracking camera
Player tracking and a virtual camera that frame a live amateur hockey game with no one filming, on one desktop per rink, within a 30 ms frame budget.
Fanaty
Fanaty, a Miami sports-tech startup, films amateur football with fixed cameras and no operator. We made its video processing eight times faster and built the stitcher that joins two sideline cameras into one panorama of the whole pitch. It runs in a cloud pipeline with no GPU, so every recorded game stays cheap.

In short
Fanaty films amateur games with cameras that need no person behind them. Two lenses on one mount see the two halves of the pitch, and the product needs one clean picture of the whole field from every match. Stitching each game by hand in desktop software costs money every time and grows with every new field.
Our first consultation took Fanaty’s processing from 15 to 120 frames per second on SD video. We then built a C++ stitcher that makes the full-pitch panorama on its own, in 4K at 30 frames per second on a CPU. We also researched ball and player tracking and built a prototype of the automatic camera.
Stitching, ball and player tracking, an automatic camera: we start with a two-week technical research on your footage and tell you what will hold up on your cameras and your servers.
About the client
Fanaty LLC is a sports-tech startup from Miami, Florida, with its development team in Argentina. Its founder and CEO, Federico Blumberg, came to the US on a soccer scholarship and started the company because amateur matches went unrecorded. Athletes and amateur teams record their games and get automatic, TV-style video.
The camera is built for amateur venues. Two lenses on one mount cover about 180 degrees of the pitch from the sideline, so no one has to stand behind it. When the work started, Fanaty was a founder and two developers, with no computer vision team of its own.
Main challenges the customer faced
Amateur football has no camera operator. Fanaty needed fixed cameras that give a video people want to watch: the whole pitch in view, and later a view that follows the play the way a TV operator would.
Processing had to stay cheap: CPU only, on a standard AWS instance (c5.xlarge), in one-minute chunks, for videos of any length.
“Before working with them, I tried to do it with some other people in a cheaper way, but I ended up having to develop the project with them.”
Every step had to prove itself on Fanaty’s own footage before the next one started.
What we did
Fanaty came to us for computer vision across its video pipeline: stitching, calibration, colour correction, and finding the players and the ball. We worked on four parts of it:
“They deliver everything on time and the results we get are great.”
Solution
Why it matters: the product needs one clean picture of the whole pitch from every match, with no manual step.
We wrote a stitcher in C++ with OpenCV that reads the calibration file of PTGui, the desktop tool Fanaty used to calibrate its cameras, and builds the panorama frame by frame, on its own. A custom parser reads the lens and position of each camera, and PTmender projections turn them into warp maps once, at start-up. Each new frame is then only remapped and blended. It supports 18 projections, from rectilinear and cylindrical to fisheye and Panini, so the same code fits a different lens or mount.
The seam is hidden with weighted or multi-band blending, with optional seam finding by Voronoi or graph cut. The command line matches the client’s existing tool, so it dropped into Fanaty’s pipeline without changes on their side.

Solution
Why it matters: an automatic camera has to know where the game is. The ball is the strongest signal, and the hardest to see.
We reviewed neural-network ball and player detectors, YOLOv4 and FootAndBall among them, with the SORT and DeepSORT trackers. The ball detector was retrained on newly labelled frames from Fanaty’s fields, and the tracker was tuned to keep the ball through short occlusions.
On the CPU budget Fanaty had, a neural network could not detect the ball in real time. That finding shaped the next step: the camera prototype leaned on the movement of players, found with classic computer vision.
Solution
Why it matters: a wide recording of the whole pitch is hard to watch. Fanaty’s product needed a view that follows the play and zooms in near the goal.
We built a first version of that camera on the CPU. It masks out everything outside the pitch, finds players by background subtraction, tracks them with a Kalman filter, and frames the most active ones. Averaging, prediction and speed limits keep the camera move even, and the zoom is closer near the goals and wider in midfield. It saved its state between one-minute chunks and came with a setup tool for new fields.
The prototype met most of the client’s acceptance criteria, but It-Jim did not finalize it for the product.
Averaging, prediction and speed limits turn a jumpy target into an even camera move.
Closer near the goals, wider in the middle of the pitch.
Key results
Two things had to hold before Fanaty could record many fields cheaply: processing fast enough on CPU servers, and one clean picture of the whole pitch from every match.
Before It-Jim, Fanaty’s pipeline processed 15 frames per second. After our first consultation it ran at 120 on SD video.
“Before we met with It-Jim, we had a processing speed of 15 frames per second. They helped us reach 120. That surpassed all our expectations.”
Our stitcher builds the full panorama of the whole pitch in 4K, a much larger frame, at 30 frames per second on a plain CPU.
The stitcher turns the two camera views into one panorama of the whole pitch, with no visible seam and no manual step. A camera mount is calibrated once, and every match after that is stitched on its own.
It dropped into Fanaty’s pipeline without changes on their side. With 18 supported projections, a new lens or mount needs a new calibration, not new code.
Business results
Fanaty’s business depends on recording a large number of amateur games without paying anyone to film or edit them. The stitcher removed the one step that needed a person on every match, and the speed work kept processing on cheap CPU machines.
“I would suggest not to try to do anything cheap when trying to have a product developed. I paid more for It-Jim, but they were great.”
Features delivered
The technology we used
No vague promises. No pressure. Just a real conversation with our technical leadership to understand your needs and explore the best next steps.