Tennis Evolution

Guides

Make a tennis highlight video from a long iPhone recording

You filmed a whole session on a phone propped against the fence. Here is how to get a 3-minute reel of the best rallies out of it, with the hit count and time printed on each one, without uploading the footage anywhere or flattening the HDR.

1. Get a list of rallies

You need start and end times for each rally. Three ways work:

2. Install the tool (2 minutes)

brew install ffmpeg
pipx install git+https://github.com/bobobo2026/tennis-evolution

Python 3.11+ and ffmpeg are the only requirements. macOS and Linux.

3. Render the reel

tennis-evolution all IMG_5155.MOV --highlights highlights.txt \
  --top 5 --place "Riverside Tennis Club" --timezone America/New_York --outdir out

You get out/reel_labeled.mp4 (with labels), out/reel_plain.mp4, one lossless clip per rally in out/clips/, and manifest.json with every self-check result.

Why the iPhone HDR look survives

iPhones record HEVC 10-bit with HLG (and often a Dolby Vision layer). Most quick editors either re-encode the clips to 8-bit SDR or drop the colour tags, so the reel looks grey. Tennis Evolution cuts each rally with -c copy on keyframes, so the clips are bit-exact, and encodes the reel once with the BT.2020/HLG tags passed through. Portrait orientation is baked into the picture, so platforms that ignore rotation metadata still show it upright.

What the labels show

Top-left: venue, the wall-clock time of that rally (recording start + offset), and where it sits in the source file. Top-right: the hit count, large. The labels are rendered as transparent PNGs, so they work even on ffmpeg builds without drawtext, and Chinese text renders correctly.

Prefer to just ask an AI?

Add the MCP server to Claude, Cursor or Codex and say “cut the five longest rallies from IMG_5155.MOV”. See making tennis highlights with an AI agent.

FAQ

Do I have to upload my video?

No. Everything runs on your computer; the site has no upload form.

How long does it take?

About 3 to 5 minutes for a 47-minute 4K-class HEVC source and five rallies on an M-series Mac.

Is it free?

Yes for up to five rallies per reel (with a small watermark). Pro, a one-time $19 key, removes the cap and the watermark.

Try the rally lab Free vs Pro