Aller au contenu

Time Stretcher Node

By Kriss Norde

Time Stretcher retimes a sequence using motion vectors to generate smooth in-between frames. Animate the Source Time property = any time curve you like: slow motion, speed ramp, freeze frame, reverse. Paired with an upstream Optical Flow for the best quality.

Overview

Time Stretcher remaps time: at output frame N, it samples the input sequence at an arbitrary Source Time. When Source Time falls between two source frames, the node interpolates using the motion vectors (forward/backward) to generate a physically plausible in-between frame.

Animate Source Time linearly = a constant retime. Animate it with a curve = speed ramps (acceleration / deceleration). Constant Source Time = freeze frame. Decreasing Source Time = a smooth reverse.

Where to find this node

  • Effects Library: Tools > Miscellaneous > Time Stretcher
  • Quick add: right-click in the Node Editor → Add Tool > Miscellaneous > Time Stretcher

Time Stretcher vs Time Speed

Time Speed
A global speed multiplier (0.5 = 2× slower, 2 = 2× faster). No time curve.
Time Stretcher
An animatable Source Time: complex curves, freeze frames, reverses and speed ramps are all possible. More flexible.

Rule: simple constant retime → Time Speed. Speed ramp or frame-by-frame control → Time Stretcher.

Inputs

  • Input (orange) - the video sequence to retime. Ideally after an Optical Flow so you have clean motion vectors.
  • Effect Mask (blue) - optional. Limits the retime to an area (e.g. slow down only a subject and keep the background at normal speed through a Merge).

Setup

50% slow motion:
MediaIn → Optical Flow → Time Stretcher (Source Time: 0 → 60 over 120 frames)
                       → MediaOut

Speed ramp, sped up then slowed down:
MediaIn → Optical Flow → Time Stretcher
   Source Time curve: 0 (frame 0) → 30 (frame 20)
                       → 35 (frame 60) → 90 (frame 120)
                       → MediaOut

Freeze frame:
Source Time: 30 (frame 0) → 30 (frame 30)
            → 30 (frame 60) [hold]
            → 60 (frame 90) [resume]

Clean reverse:
Source Time: 100 (frame 0) → 0 (frame 100) [linear descending]

Controls tab

Source Time (default: 0)
The source frame to sample for the current output frame. It is the main property to animate. A real value (it can be fractional between two source frames = interpolation).
Sampling (default: Optical Flow)
Interpolation method between frames. Optical Flow: the best quality, uses the motion vectors (requires OF upstream). Frame Blend: crossfade between 2 adjacent frames (fast, but ghosting). Nearest: duplicates the closest frame (stuttering).
Mask Channel (default: None)
Lets you use an alpha channel or effect mask to limit the retime to an area.
Use Greyscale Color Space
Enables a luma analysis for sampling (with Optical Flow). Faster, but loses chroma precision.

Speed ramping in practice

A speed ramp = a smooth transition between two speeds. Example: a 5s shot filmed at full speed, and you want it to speed up from 0 to 5s, slow down from 5s to 10s, then play at full speed from 10s to 12s.

  1. Source footage: 24fps, 5s = frames 0 to 120.
  2. Desired output: 12s = frames 0 to 288 (at 24fps).
  3. Source Time keyframes:
    • Frame 0 (output) → Source Time = 0
    • Frame 120 (output) → Source Time = 80 (fast: 80 source frames covered in 120 output frames)
    • Frame 240 (output) → Source Time = 100 (slow: 20 source frames in 120 output frames)
    • Frame 288 (output) → Source Time = 120 (back to normal)
  4. Adjust the tangents (smooth Bezier) on the keyframes to avoid abrupt changes.

Use cases

  • Cinematic slow motion - action shot at 24fps, slowed to 50% (= doubled frames as interpolated pseudo-48fps) for an epic effect.
  • Musical speed ramp - speed up on the intro of a track, freeze on the drop, back to normal = a classic music video.
  • Freeze frame and resume - pause on a key moment then resume the movement = a poor man's bullet-time effect.
  • Frame rate conform - go from 30fps to 24fps without stuttering: OF + Time Stretcher with a linear but stretched Source Time = every output frame is an interpolation.
  • Cinematic reverse - decreasing Source Time + OF = smooth reverse playback, without the stuttering you get with a native reverse.
  • Perfect loop - create a seamless loop by generating in-between frames between the end and the start.
  • Motion graphics text reveal - slow down the reveal of an animated text to sync it exactly with an audio beat.

Tips

  • Optical Flow upstream is required for the best quality. Without OF, Frame Blend sampling = visible ghosting on fast motion.
  • Cache the Optical Flow - retiming often means changing keyframes, and the OF cache avoids recomputing on every adjustment.
  • Source Time in the Spline Editor - switch to the Spline view to fine-tune the Bezier curves. Smooth tangents are essential for invisible speed ramps.
  • Keep it to 25-50% minimum - below 25% (4× slower), OF usually struggles to generate clean interpolations. For extreme slow motion, shoot at a high frame rate in the first place.
  • Do not chain it with Time Speed - pick one or the other. Combining both can cause redundant sampling and artifacts.
  • Source Time = an actual frame - mind the unit: Source Time is in frames, not seconds. For 1 second at 24fps, type 24 (not 1).
  • Render at the target frame rate - the retime does not change the project frame rate. To generate slow motion at 60fps, set the project or the output timeline to 60fps.
  • To test quickly without waiting for a full OF, switch Sampling to Frame Blend, validate the Source Time curve, then go back to Optical Flow for the final render.