Everyday utilities Open source

framestrip

Sixty near-identical frames in, one honest storyboard out.

framestrip turns a video into a short, deduplicated, timestamped frame strip using the system ffmpeg. It samples at a fixed rate, perceptually hashes each frame, keeps only real transitions, and returns JPEGs with their timestamps and how long each screen stayed up. That lets a language model read a screen recording as "screen A held 16 s, toast at 00:24, screen B".

What it does

  • Perceptual-hash deduplication
  • Timestamps with hold durations
  • No build-time ffmpeg linking

Try it

  • cargo add framestrip
  • framestrip::extract(path, &Options::default())
  • framestrip::tooling()

Character

Shows models what changed on screen Contact sheet from a darkroom