motion_center
Detects where the on-screen subject is horizontally by analyzing temporal variance across frames, then emits a PositionX patch to center them in the output frame.
When to use
Use after reframe when your source footage has a subject that's not centered horizontally. Cheaper than speaker_center (no API call) but less accurate: it finds the highest-motion column, which is usually the speaker. For guaranteed accuracy use speaker_center. See Portrait Video guide.
Tip: The
editprocessor'sreframeoperation can center the frame on a chosen horizontal fraction (center_fraction) that you set yourself. Use this processor instead when you want the subject found automatically.
In the editor
Add it from the Library (Transforms group), or with + add step and a search for motion_center, and put it after your reframe step.
Under Inputs, add source: a file input to look at the whole file, or a step input to work out a separate position for each clip that step placed. There is nothing else to set. center_fraction lives behind Show advanced and exists for one situation: the automatic guess picked the wrong part of the frame, and you want to nudge it (0.5 is dead center, lower is left, higher is right).
Like the other transform steps, it adds no clips of its own. After the run, the subject sits centered in the exported frame. If the framing is still off, set center_fraction and run again, or swap the step for speaker_center, which finds the speaker with AI instead of guessing from movement.
YAML Example
- id: center
processor: motion_center
input:
- id: source
file: speaker-footage
params:
center_fraction: 0.503 # optional override; omit to auto-detect
cache: true
Inputs
| ID | Source | Description |
|---|---|---|
source |
file or step | Source video (file mode: samples whole file; step mode: computes per-clip patches) |
Params
| Param | Type | Default | Description |
|---|---|---|---|
center_fraction |
number | none | 0–1 horizontal position of the subject. 0.5 = center. Override if auto-detection is wrong. |
Output
TransformPatches: PositionX adjustments on all edit decisions from this source.
Notes
- No API key required. Samples a couple of frames per second, which keeps it fast on long clips.
- Falls back to brightness center-of-mass if there aren't enough frames.
- For multi-clip sources with the subject in different positions per clip,
speaker_center(which samples per edit decision) is more accurate.