Lets you generate high-quality retiming operations, such as slowing down or speeding up the input footage. OFlow analyzes the movement of all pixels in the frames, generates motion vectors based on the analysis, and then renders new “in-between” images by interpolating along the direction of the motion. You can also use OFlow to add motion blur or enhance the existing motion blur in the image.
Connection Type |
Connection Name |
Function |
Input |
src |
The image sequence to retime. |
Control (UI) |
Knob (Scripting) |
Default Value |
Function |
OFlow Tab |
|||
Method |
method |
Motion |
Sets the interpolation algorithm: • Frame - the nearest original frame is displayed. • Blend - a mix between two frames is used for the in-between frame. This is quick to render and is useful when tweaking the timing on a curve before setting the method to motion. • Motion - vector interpolation is used to calculate the in-between frame. |
Timing |
timing |
Speed |
Sets how to control the new timing of the clip: • Speed - select this if you wish to describe the retiming in terms of “double speed” or “half speed”. • Source Frame - select this if you wish to describe the retiming in terms of “at frame 100 in the output clip I want to see frame 50 of the source clip”. You’ll need to set at least 2 key frames for this method to work. |
Frame |
timingFrame |
1 |
This control is active only if Timing is set to Frame. Use this to specify the source frame at the current frame in the timeline. For example, to slow down a 50 frame clip by half, set Frame to 1 at frame 1 and to 50 at frame 100. The resulting animation curve will result in a half-speed retime. |
Speed |
timingSpeed |
0.5 |
This control is only active if Timing is set to Speed. Values below 1 slow down the clip. Values above 1 speed up movement. For example, to slow down the clip by a factor of 2 (half speed), set this value to 0.5. Quarter speed would be 0.25. |
Filtering |
filtering |
Normal |
Sets the quality of the filtering when producing in-between frames: • Normal - uses bilinear interpolation, which gives good results and is a lot quicker than Extreme. • Extreme - uses a sinc interpolation filter to give a sharper picture but takes a lot longer to render. |
Warp Mode |
warpMode |
Normal |
Sets how to control the new timing of the clip: • Simple - this is the quickest option, but may produce poor results around moving objects and image edges. • Normal - this is the default option with better treatment of moving objects and image edges. • Occlusions - this is the advanced option, which attempts to reduce the level of background dragging that occurs between foreground and background objects. |
Correct Luminance |
correctLuminance |
disabled |
Local motion estimation is highly dependent upon the idea that the brightness of objects doesn’t vary through a sequence. Where brightness varies rapidly - for example a highlight moving across the bodywork of a car - the motion calculation performs poorly. The luminance of a shot can come from other sources too, such as an overall flicker problem. In these cases where there is a global luminance shift, toggling this control on allows the local motion estimation algorithm to take account of overall brightness changes between frames. |
Automatic Shutter Time |
automaticShutterTime |
disabled |
When enabled, calculates the shutter time throughout the sequence automatically. |
Shutter Time |
shutterTime |
0 |
Sets the equivalent shutter time of the retimed sequence. For Example, a shutter time of 0.5 is equivalent to a 180 degree mechanical shutter, so at 24 frames per second the exposure time will be 1/48th of a second. |
Shutter Samples |
shutterSamples |
1 |
Sets the number of in-between images used to create an output image during the shutter time. Increase this value for smoother motion blur, but note that it takes much longer to render. |
Vector Detail |
vectorDetail |
0.2 |
Adjusts the resolution of the vector field. Large vector fields take longer to process, but contain more detail and may help to isolate smaller motion in the scene. A value of 1 generates a vector for every pixel. A value of 0.5 generates a vector at every other pixel. For some sequences, a high vector detail near 1.0 generates too much unwanted local motion detail, and often a low value will give a better result. |
Smoothness |
smoothness |
0.5 |
Vector fields usually have two important qualities: they should accurately match similar pixels in one image to another and they should be smooth rather than noisy. Often it is necessary to trade one of these qualities off against the other. A high Smoothness will miss lots of local detail, but is less likely to provide you with the odd spurious vector. A low Smoothness will concentrate on detail matching, even if the resulting field is jagged. The default value of 0.5 should work well for most sequences. |
Block Size |
blockSize |
6 |
The vector generation algorithm subdivides the image into small blocks, and separately tracks them. Block Size defines the width and height of these subdivisions. Smaller values will produce noisy data, whereas larger values may produce data that is lacking in detail. This value should rarely need editing; some sequences may benefit from using large block sizes to help the algorithm track regions better where the algorithm isn’t “locking on” to the overall motion in the sequence. |
Tolerances |
|||
Weight Red |
weightRed |
0.3 |
For efficiency, much of the local motion estimation is done on luminance only, using monochrome images. The Tolerances controls allow you to tune the weight of each color channel when calculating the image luminance. These controls rarely need tuning. However, you may, for example, wish to increase the red weighting Weight Red to allow the algorithm to concentrate on getting the motion of a primarily red object correct, at the cost of the rest of the items in a shot. |
Weight Green |
weightGreen |
0.6 |
|
Weight Blue |
weightBlue |
0.1 |
|
OFlow |
|||
Show Vectors |
showVectors |
disabled |
When enabled, the motion vectors are drawn over the image. |
About |
N/A |
N/A |
Shows the version number of this node. |