JOS JOS Compositor

Node reference

Time nodes

AppendClip

The inputs' clips one after another, with dissolves and fades.

Inputs: input (optional); more as you connect them.

Setting Default Range or choices What it does
fade in 0 0 to 50 Frames fading in from black at the start.
fade out 0 0 to 50 Frames fading out to black at the end.
dissolve 0 0 to 50 Frames each clip overlaps and blends into the next.
first frame 1 0 to 2000 The frame where the first clip starts.

DeInterlace

The odd lines rebuilt from the even ones around them.

Inputs: input.

No settings.

FieldSelect

One field (odd or even lines), its lines doubled.

Inputs: input.

Setting Default Range or choices What it does
Field Odd Odd, Even Which lines are kept; the others are copied from them.

FrameBlend

Averages several frames: the current one and those before it, or a fixed range.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
frames 5 1 to 50 How many frames are averaged: the current one and those before it.
start frame -1 -1 to 200 With custom range: the first frame averaged.
end frame -1 -1 to 200 With custom range: the last frame averaged.
custom range off Blend startframe..endframe instead.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

FrameHold

Holds the input at a frame (firstFrame); with an increment, it takes a new frame every increment frames.

Inputs: input.

Setting Default Range or choices What it does
first frame 1 1 to 100 The frame held (the first one with an increment).
increment 0 0 to 10 0: always firstFrame. n: firstFrame, then every n frames the frame then.
rounding Whole frames Whole frames, Fractional time Whole frames: the input time is rounded to a frame. Fractional: subframes pass through.

FrameRange

Sets the clip's frame range (what follows uses it); the pictures pass through.

Inputs: input.

Setting Default Range or choices What it does
frame range 0 0 to 200 The clip's first frame (used with last frame unless last frame is -123).
last frame -123 -200 to 200 Nuke's default -123 means the input's own range.

MotionBlur

Blurs the picture along its own motion (found by optical flow), as a camera shutter would.

Inputs: Source, Matte (optional).

Setting Default Range or choices What it does
shutter samples 3 2 to 32 Places averaged along each pixel's path.
shutter time 0.75 0 to 2 How long the shutter stays open, in frames (0.5: a 180 degree shutter).
resample type Bilinear Bilinear, Lanczos4, Lanczos6 Nuke's (kept): ours samples bilinearly.
method Regularized Regularized, Local Regularized: smoother vectors; Local: more local detail.
vector detail 0.3 0.05 to 1 How finely the motion is followed (1: a vector per pixel).
strength 1.5 0 to 5 How much the vectors are smoothed.
vector detail (local) 0.2 0.05 to 1 With the Local method: how finely the motion is followed (1: a vector per pixel).
smoothness (local) 0.5 0 to 2 With the Local method: how much the vectors are smoothed.
matte None None, Source Alpha, Source Inverted Alpha, Matte Luminance, Matte Inverted Luminance, Matte Alpha, Matte Inverted Alpha Nuke's matte to separate foreground motion (kept; not used yet).
flicker compensation off Nuke's (kept): brightness changes between frames are already discounted here.

2D Motion Blur

Type name: MotionBlur2D (scripts, MCP and Nuke import use it).

Motion vectors from the 2D transform upstream, over the shutter, for VectorBlur.

Inputs: input.

Setting Default Range or choices What it does
Output UV motion The layer the vectors are written to, as its .u and .v channels.
Shutter 0.5 0 to 2 How long the shutter stays open, in frames: the vectors are the motion over that time.
Shutter Offset start centred, start, end, custom Where the shutter opens: at the frame (start), half a shutter before (centred), a whole one before (end), or at the custom offset.
shuttercustomoffset 0 -1 to 1 With a custom shutter offset, when the shutter opens, in frames from this one.

Whole Frames

Type name: NoTimeBlur (scripts, MCP and Nuke import use it).

Upstream rendered at whole frames: sub-frame requests (motion blur) don't reach it.

Inputs: input.

Setting Default Range or choices What it does
rounding rint rint, floor, ceil, none How the frame asked for becomes the frame read upstream: nearest whole frame, down, up, or none (as asked).
use single frame on Nuke's (kept; not used yet).

OpticalFlow

Retimes the input (slow or fast motion, or any frame), building the frames in between by optical flow (Nuke's Kronos and OFlow2).

Inputs: Source, Matte (optional).

Setting Default Range or choices What it does
input first 1 1 to 200 The input's first frame: speeds count from it.
input last 100 1 to 200 The input's last frame, kept from Nuke scripts; the timing doesn't use it.
channels all Nuke's (kept): every channel is retimed.
method Motion Frame, Blend, Motion Frame: the nearest frame. Blend: the two around mixed. Motion: both warped along the optical flow, then mixed.
timing Output Speed Output Speed, Input Speed, Frame A speed (0.5: half speed), or which source frame each output frame shows.
output speed 0.5 0 to 4 Source frames per output frame (0.5: half speed, 2: twice as fast); it may be animated.
input speed 0.5 0 to 4 Source frames per output frame (0.5: half speed), as output speed; it may be animated.
frame 1 1 to 200 The source frame shown (animate it).
resample type Bilinear Bilinear, Lanczos4, Lanczos6 Nuke's (kept): ours samples bilinearly.
shutter samples 1 1 to 16 How many frames are built across the shutter and averaged (1: no motion blur).
shutter time 0 0 to 2 Motion blur: source frames averaged around each output frame, times the speed.
automatic shutter time off Nuke's (kept; not used yet).
output Result Result, Matte, Foreground, Background Nuke's (kept): ours outputs the result.
weight red 0.3 0 to 1 Nuke's luminance weight for red (kept; not used yet).
weight green 0.6 0 to 1 Nuke's luminance weight for green (kept; not used yet).
weight blue 0.1 0 to 1 Nuke's luminance weight for blue (kept; not used yet).
method Regularized Regularized, Local Regularized: smoother vectors; Local: more local detail.
vector detail 0.3 0.05 to 1 How finely the motion is followed (1: a vector per pixel).
strength 1.5 0 to 5 How much the vectors are smoothed.
vector detail (local) 0.2 0.05 to 1 With the Local method: how finely the motion is followed (1: a vector per pixel).
smoothness (local) 0.5 0 to 2 With the Local method: how much the vectors are smoothed.
matte None None, Source Alpha, Source Inverted Alpha, Matte Luminance, Matte Inverted Luminance, Matte Alpha, Matte Inverted Alpha Nuke's matte to separate foreground motion (kept; not used yet).
flicker compensation off Nuke's (kept): brightness changes between frames are already discounted here.

Retime

Plays the input range over the output range at a speed (2: twice as fast), with what happens before and after it.

Inputs: input.

Setting Default Range or choices What it does
input first 1 1 to 200 The first frame of the input range.
input last 100 1 to 200 The last frame of the input range.
output first 1 1 to 200 The output frame where the input's first frame is shown.
output last 100 1 to 200 The output frame where the input's last frame is shown, when locked; otherwise the speed decides.
lock output last off On: the output range sets the speed. Off: the speed sets it.
speed 1 0.1 to 4 Input frames per output frame.
reverse off Play the input range backwards, from its last frame to its first.
before hold continue, loop, bounce, hold, black Before the input range: hold its first frame, loop or bounce the range, black, or continue reading.
after hold continue, loop, bounce, hold, black After the input range: hold its last frame, loop or bounce the range, black, or continue reading.
filter box none, nearest, box In-between times: none (the input's own subframe), nearest, box (the input averaged over speed x shutter frames, as in Nuke).
shutter 1 0 to 2 Box filter: how many output frames of input time are averaged.

RollingShutter

Straightens a rolling shutter's lean (phones, most CMOS cameras): each row moved to where its content was at the reference row's moment, along the plate's own motion.

Inputs: img.

Setting Default Range or choices What it does
readout 0.5 0 to 1 Frames from the top row to the bottom one (a phone: about 0.3 to 0.7; the camera tracker's rolling shutter option can solve it).
reference middle top, middle, bottom The row left as it is; the others are moved to its moment.
method Regularized Regularized, Local Regularized: smoother vectors; Local: more local detail.
vector detail 0.3 0.05 to 1 How finely the motion is followed (1: a vector per pixel).
strength 1.5 0 to 5 How much the vectors are smoothed.
vector detail (local) 0.2 0.05 to 1 With the Local method: how finely the motion is followed (1: a vector per pixel).
smoothness (local) 0.5 0 to 2 With the Local method: how much the vectors are smoothed.
matte None None, Source Alpha, Source Inverted Alpha, Matte Luminance, Matte Inverted Luminance, Matte Alpha, Matte Inverted Alpha Nuke's matte to separate foreground motion (kept; not used yet).
flicker compensation off Nuke's (kept): brightness changes between frames are already discounted here.

Detail Vectors

Type name: SmartVector (scripts, MCP and Nuke import use it).

Vectors for VectorDistort: the frame-to-frame motion (forward.u/v, backward.u/v) on the image.

Inputs: Source, Matte (optional).

Setting Default Range or choices What it does
method Regularized Regularized, Local Regularized: smoother vectors; Local: more local detail.
vector detail 0.3 0.05 to 1 How finely the motion is followed (1: a vector per pixel).
strength 1.5 0 to 5 How much the vectors are smoothed.
vector detail (local) 0.2 0.05 to 1 With the Local method: how finely the motion is followed (1: a vector per pixel).
smoothness (local) 0.5 0 to 2 With the Local method: how much the vectors are smoothed.
matte None None, Source Alpha, Source Inverted Alpha, Matte Luminance, Matte Inverted Luminance, Matte Alpha, Matte Inverted Alpha Nuke's matte to separate foreground motion (kept; not used yet).
flicker compensation off Nuke's (kept): brightness changes between frames are already discounted here.
output Background Foreground, Background Nuke's, with a matte (kept; not used yet).
frame distance 6 1 to 64 Nuke's vectors' furthest frame distance (kept; ours are frame to frame).
inpainting off Nuke's (kept; not used yet).
matte dilation 50 0 to 200 Nuke's (kept; not used yet).

TemporalMedian

Per pixel the median of the frames before, at and after; only values further than core from it change.

Inputs: input, mask (optional).

Setting Default Range or choices What it does
channels all rgba, rgb, alpha, all The channels the node changes; the others pass through.
core 0.05 0 to 1 Per channel, how far a value may be from the median before it is replaced by it.
invert mask off Use 1 - the mask's alpha.
mix 1 0 to 1 How much of the result shows over the input: 0 is the input, 1 the full effect.

TimeBlend

The average of a few frames ending at this one.

Inputs: input.

Setting Default Range or choices What it does
frames 2 1 to 20 How many frames (ours: Nuke's dump shows no knob).

TimeBlur

Motion blur from time: the input rendered several times over the shutter and averaged.

Inputs: input.

Setting Default Range or choices What it does
divisions 10 1 to 50 Renders averaged over the shutter.
shutter 0.5 0 to 2 Shutter length in frames.
shutter offset start centred, start, end, custom Where the shutter opens: at the frame (start), around it (centred), before it (end), or at the custom offset.
custom offset 0 -1 to 1 Frames from the current one to where the shutter opens.

TimeClip

The input's frames first to last as a clip: placed in time, reversed, faded, with black, a hold, a loop or a bounce before and after.

Inputs: input.

Setting Default Range or choices What it does
first 1 0 to 200 The clip's first frame (of the input).
last 100 0 to 200 The clip's last frame (of the input).
before black hold, loop, bounce, black What shows before the clip.
after black hold, loop, bounce, black What shows after the clip.
frame mode expression expression, start at, offset start at: the clip's first frame shows at frame. offset: frame f shows the input's f + frame. expression: frame is the input frame (empty: the same frame).
frame A frame, or an expression of frame.
reverse off Plays the clip backwards.
fade in 0 0 to 50 Frames over which the clip fades in from black.
fade in type soft soft, linear linear: a straight ramp over the fade in frames; soft: an eased ramp (squared).
fade out 0 0 to 50 Frames over which the clip fades out to black.
fade out type soft soft, linear linear: a straight ramp over the fade out frames; soft: an eased ramp (squared).

TimeDissolve

Input 1 until in, input 2 from out, a dissolve between.

Inputs: 1, 2 (optional).

Setting Default Range or choices What it does
in 1 1 to 100 The frame the dissolve starts at: input 1 alone until then.
out 10 1 to 100 The frame the dissolve ends at: input 2 alone from then on.
lut curve {} The dissolve's shape: from in (0) to out (1), how much of input 2.

TimeEcho

Merges the current frame with those before it (plus, max or average).

Inputs: input.

Setting Default Range or choices What it does
mode Max Plus, Max, Average How the frames merge: Plus sums them (no clamp), Max keeps the largest, Average divides the sum as Nuke does.
frames behind 1 0 to 20 How many frames are merged, the current one included (rounded down).
frames fade 1 0 to 20 Over how many frames the oldest ones fade out (Nuke's; 1 or less: no fade).

TimeOffset

Moves the input in time: +10 shows the input's frame 1 at frame 11.

Inputs: input.

Setting Default Range or choices What it does
time offset 0 -100 to 100 Frames the input moves later (negative: earlier); its frame range moves with it.
rounding Whole frames Whole frames, Fractional time Whole frames: the input time is rounded to a frame. Fractional: subframes pass through.

TimeShift

Nuke's older retime: an input range mapped onto an output range at a speed, held, looped or bounced outside.

Inputs: input.

Setting Default Range or choices What it does
in start 1 0 to 1000 The first input frame of the range, shown at the output start.
before hold continue, loop, bounce, hold, black Before the input range: hold its first frame, loop or bounce the range, black, or continue reading.
end 100 0 to 1000 The last input frame of the range.
after hold continue, loop, bounce, hold, black After the input range: hold its last frame, loop or bounce the range, black, or continue reading.
out start 1 0 to 1000 The output frame where the input start is shown.
enable off With the output end's enable on too, the speed is set so the input end lands on the output end.
end 100 0 to 1000 The output frame where the input end is shown, when both enables are on.
enable off With the output start's enable on too, the speed is set so the input end lands on the output end.
speed 1 -4 to 4 Input frames per output frame; negative plays backwards. Ignored when both enables are on.
filter none none, nearest, box How pixels are resampled when the picture moves or scales.
shutter 0.5 0 to 1 Nuke's (kept; not used yet).

TimeWarp

Shows the input at the time a curve gives: animate lookup (output frame -> input frame) to speed up, slow down, hold or reverse.

Inputs: input.

Setting Default Range or choices What it does
lookup 0 0 to 200 The input frame shown at each output frame (a new TimeWarp: the frame itself).
length 1 0 to 4 Input frames each output frame spans from its lookup (box averages them; Nuke's).
filter box none, nearest, box none: the exact time; nearest: one whole frame; box: the frames the span covers, averaged.

VectorDistort

Carries a fix painted on the reference frame through the shot along the plate's motion (src: the fix; vectors: SmartVector's output, or the plate itself).

Inputs: src, vectors.

Setting Default Range or choices What it does
reference frame 1 1 to 100 The frame the fix was painted on.
hold frame on src is taken at the reference frame.
frame distance 1 frame 1 frame, 2 frames, 4 frames, 8 frames, 16 frames, 32 frames, 64 frames Nuke's (kept): ours goes straight to the reference frame, or a frame at a time along given vectors.
output warped src warped src, st-map, st-map inverse warped src: the fix moved to this frame; st-map: each pixel's place at the reference frame (in R and G, as STMap reads it); st-map inverse: the other way round.
blur size 0 0 to 10 Nuke's (kept; not used yet).
channels rgba rgb, rgba, alpha, all rgb, rgba, alpha, all, or a layer (depth) or channel by name, as Nuke's.
vector filter cubic impulse, cubic, Keys, Simon, Rifman, Mitchell, Parzen, notch, Lanczos4, Lanczos6, sinc4 Nuke's (kept): ours is bilinear.
image filter cubic impulse, cubic, Keys, Simon, Rifman, Mitchell, Parzen, notch, Lanczos4, Lanczos6, sinc4 Nuke's (kept): ours is bilinear.
method Regularized Regularized, Local Regularized: smoother vectors; Local: more local detail.
vector detail 0.3 0.05 to 1 How finely the motion is followed (1: a vector per pixel).
strength 1.5 0 to 5 How much the vectors are smoothed.
vector detail (local) 0.2 0.05 to 1 With the Local method: how finely the motion is followed (1: a vector per pixel).
smoothness (local) 0.5 0 to 2 With the Local method: how much the vectors are smoothed.
matte None None, Source Alpha, Source Inverted Alpha, Matte Luminance, Matte Inverted Luminance, Matte Alpha, Matte Inverted Alpha Nuke's matte to separate foreground motion (kept; not used yet).
flicker compensation off Nuke's (kept): brightness changes between frames are already discounted here.

Motion Vectors

Type name: VectorGenerator (scripts, MCP and Nuke import use it).

Motion vectors: forward.u/v, where each pixel goes in the next frame, and backward.u/v, where it was in the previous one (optical flow).

Inputs: Source, Matte (optional).

Setting Default Range or choices What it does
method Regularized Regularized, Local Regularized: smoother vectors; Local: more local detail.
vector detail 0.3 0.05 to 1 How finely the motion is followed (1: a vector per pixel).
strength 1.5 0 to 5 How much the vectors are smoothed.
vector detail (local) 0.2 0.05 to 1 With the Local method: how finely the motion is followed (1: a vector per pixel).
smoothness (local) 0.5 0 to 2 With the Local method: how much the vectors are smoothed.
matte None None, Source Alpha, Source Inverted Alpha, Matte Luminance, Matte Inverted Luminance, Matte Alpha, Matte Inverted Alpha Nuke's matte to separate foreground motion (kept; not used yet).
flicker compensation off Nuke's (kept): brightness changes between frames are already discounted here.
output Foreground Foreground, Background Nuke's, with a matte (kept; not used yet).

VectorToMotion

Forward vectors into the motion layer, scaled.

Inputs: input.

No settings.