Fast Seek: smooth backward scrubbing
The problem it solves
Video files are compressed so that most frames are stored as differences from the frames before them; only occasional keyframes are complete pictures that stand on their own. Playing forward, this is efficient. But stepping or scrubbing backward forces the decoder to jump back to the previous keyframe and rebuild every frame forward from there to reach the one you want — and on high-resolution footage where keyframes are far apart, that rebuilding is the choppiness you feel dragging the slider leftward, especially with several tiles at once.
Nothing about the app causes this; it’s inherent to how the footage was encoded. But it can be fixed by re-encoding.
What the button does
Fast Seek (on the transport bar, in both modes) re-encodes every loaded video into a copy with densely spaced keyframes, written next to the original:
race-headon.mp4 → race-headon_fastseek.mp4
Then it swaps each tile onto its fast copy in place — position, alignment, zero point and mute are all preserved. The tile doesn’t jump or lose its place; it’s the same frame, now backed by a seek-friendly file. You keep working, and backward scrubbing is suddenly snappy. The original files are never modified.
Progress appears in the status display as each video encodes. A package saved after the swap references the fast copies, so the snappy scrubbing comes back when you reopen the package.
When to use it, and what it costs
Use Fast Seek when backward scrubbing on your footage actually bothers you — typically long, high-resolution clips. If scrubbing already feels fine, skip it; the copies cost space and time for no benefit.
- Disk. Dense keyframes make big files — several times the original is normal. A measured example: a 72 MB clip became 253 MB at the default 1-second keyframe spacing. Multiply across four angles and a library of races and it adds up, so keep the copies for races you’ll revisit rather than everything.
- Time. A one-time encode per video, usually seconds to a couple of minutes. It uses the NVIDIA GPU and typically runs several times faster than real time.
The GOP (keyframe spacing) setting
How often keyframes are placed is controlled by the FastSeekGopSeconds setting (chapter 14). “GOP” is the technical name for the gap between keyframes.
- Smaller number → keyframes closer together → smoother backward scrubbing, but bigger files.
1(the default) places a keyframe every second — a good balance.0makes every frame a keyframe — the smoothest possible scrubbing and the largest files.- Valid range is 0 to 30 seconds.
Change the setting and the next Fast Seek re-encodes to match; an existing copy that was made at a different spacing is redone rather than reused.
Requirements and behaviour
- Needs ffmpeg and ffprobe on the system PATH (free, from ffmpeg.org — the full “release” build). If they’re missing you get a clear dialog and nothing is touched. Appendix 18 walks through downloading them and adding them to the PATH, with screenshots.
- Needs an NVIDIA GPU (the encode uses NVENC).
- Already-encoded copies are reused when they’re complete and match the current keyframe setting — pressing the button twice doesn’t re-encode. A half-finished file from an interrupted run is detected and redone.
- A video already named
*_fastseekis left alone. - If an encode fails, the original stays in the tile, the reason is logged, and all failures are summarised in one dialog at the end.