# Overnight footage selects: let the machine watch the boring hours

**What it does:** you hand it a folder of video from a fixed camera. Overnight it reads every frame, finds the moments where something actually happens, grades each one from 0 to 5, and hands back a ranked list, a contact sheet of thumbnails, and a report.

**What it saved:** one real session of slow-motion bird-feeder footage: 61 clips, 97 real minutes, 8.1 hours of slow-motion timeline, 699,120 frames. It found 395 moments. The top two grades add up to 29.4 minutes to review instead of 8.1 hours.

**See the output:** a real contact sheet at https://slowmotionbirds.com/contact-sheets/2026-08-10-north-wing-double-feeder/ and all sessions at https://slowmotionbirds.com/contact-sheets/ . The grading ladder is at https://slowmotionbirds.com/footage-levels/ .

**The business version:** swap birds for security cameras, a job-site timelapse, store foot traffic, or a folder of recorded calls. The pattern is the same: the machine sits through the boring hours and hands you a ranked list plus proof.

**Shown at:** AI Open House Session 003, 2026-09-25, by Colton Mulligan.

## What you need

| Tool | Cost |
|------|------|
| Claude (Claude Code) to write the tool | your existing plan |
| Python, OpenCV, ffmpeg | free |
| A computer that can run overnight (ours is a Mac mini) | hardware you have |
| Premiere Pro, if you want the timeline output | optional |

No cloud and no AI model in the nightly run itself, so it costs $0 a month.

## How it works

1. Shoot, then drop the card into a folder named for the session.
2. Then the always-on computer reads every frame with OpenCV and ffmpeg.
3. Then it compares each frame to the empty scene and measures the single biggest moving shape. A bird is one solid shape; wind in the leaves is scattered noise.
4. Then it grades each moment 0 to 5 (5 = fights and hummingbirds, 2 = finches just eating).
5. Then it writes a Premiere timeline with each grade on its own track, plus a web contact sheet and a morning report.
6. Then you review only the top tracks. Dragging a clip to a different track is feedback that recalibrates the grades.

## What broke, and what fixed it

- **Summer broke it.** In winter the feeders go quiet, so the "empty scene" stays fresh. In summer the birds never leave, the reference went stale, and it flagged 95% of everything.
- **Wind looked like birds.** Measuring total movement counts every leaf.
- **The fix:** judge by the single largest moving shape, and cap how long any pixel can be held out of the background. Flagged footage dropped from 95% to 33%, and 5 of 61 clips correctly came back empty.
- **The honest limit:** grades 4 and 5 are trustworthy. Grades 2 and 3 still catch some empty feeders. The next fix is painting where the feeders are so only shapes on them count.

## The prompt

```text
I have a folder of video from a fixed camera: [WHAT IT FILMS, e.g. a bird feeder / a store entrance / a job site].
Most of it is boring. Write me a local Python tool (OpenCV + ffmpeg, nothing sent to the cloud) that:

1. Reads every frame of every clip in the folder.
2. Compares each frame to the empty scene and measures the single largest moving shape,
   so wind, shadows and small flicker do not count as activity.
3. Finds the moments where something real happens, with a couple of seconds of padding on each side.
4. Grades each moment 0 to 5 by how big and how long the activity is.
5. Writes a CSV of every moment (clip, start, end, grade) and one HTML contact sheet
   with a thumbnail of the peak frame for each moment.
6. Prints a summary: total footage, number of moments, and minutes worth reviewing at grade 4 and up.

Test it on one clip first and show me the frames it picked before running the whole folder.
```

## Stack card

```text
WHAT IT DOES:     Watches hours of fixed-camera footage overnight and hands back graded moments, a contact sheet and a report
AI / MODEL:       Claude (Claude Code) wrote it; the nightly run itself uses no AI model
STACK:            Python, OpenCV, ffmpeg on a Mac mini; Premiere timeline (XML) out; web contact sheet
WHERE IT LIVES:   this recipe, plus live contact sheets at slowmotionbirds.com/contact-sheets/
COST TO RUN:      $0 a month (local machine)
TIME SAVED:       8.1 hours of review down to 29.4 minutes for one session
TIER SHARED:      map + recipe
```

Built by Colton: https://builtbycolton.com

From the AI Open House free library: https://aiopenhouse.co/guests/#library
