❉Recipe
Boomerang Motion Fill
ffmpeg filtergraphPlay a short clip forward then reversed (split + reverse + concat) so an idle/hub loop keeps moving for a longer beat without a freeze or a re-roll. Used for the hub and ending idle clips.
5 units use it
What it is
## What it is
A ping-pong loop: `split` the clip, `reverse` the copy, `concat` forward+backward into one seamless out-and-back. It lets a 3.5s idle clip carry a 7s beat with continuous motion and no visible loop seam — the key fix for the "dead-still world" complaint on idle/hub frames (MEMORY: idle_ending_anchor_clean_still).
## When to use it
- A hub/intro or ending idle clip that needs to fill a longer window (CTA voiceover) without freezing.
- Any short loop where a hard cut back to frame 0 would read as a stutter.
## Knobs
- `-t` = total length to hold (set to ~2x the clip, trimmed to the beat).
- Combine with the master `VF` normalize chain when feeding the xfade bake.
How to use it standalone
# Verbatim from scripts/tmp-bake-*.sh BOOM filter (hub/idle segment build): BOOM='split[a][b];[b]reverse[r];[a][r]concat=n=2:v=1[v]' ffmpeg -y -i idle.mp4 -filter_complex "[0:v]$VF,$BOOM" -map "[v]" -t 7.0 -an -c:v libx264 -preset veryfast -crf 20 -r 24 idle_boomerang.mp4
| Param | Value |
|---|---|
| concat_n | 2 |
| hold_sec | 7 |
Units that use this recipe
5 unitsEvery finished unit with Boomerang Motion Fill in its recipe. Open one to see the full ingredient list, or remix straight from a tile.