[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

18. Keyframing

The term "keyframe" is borrowed from the world of animation where it refers to an essential (key) drawing in a sequence. Typically this would be a starting or an ending point of a smooth transition in a series of frames. The keyframes would be drawn by the more senior artists and their assistants would draw the "inbetweens". The word keyframe has since been used to suggest similar concepts in other fields.

In non-linear digital video editing and video compositing software a keyframe represents a certain value set by the user at a certain point in the timeline. For example you could use keyframes to fade in a clip by setting the transparency to 100% at the first keyframe and adding another keyframe 5 seconds later in the timeline with a transparency of 0%. A keyframe is used to manipulate changes made to the signal over time, essentially acting as a control point for the user to set parameters e.g. of effects. Cinelerra interpolates the intermediate values making the change happen smoothly and gradually over time.

When you change the fade, camera, projector, or other parameters for a track, they stay by default the same for the entire duration of the project. Their value is stored in a keyframe. The keyframe it is stored in by default is known as the default keyframe. The default keyframe applies to the entire duration only if no other keyframes are present and it is not drawn on the timeline.

The only way change occurs over time is if additional keyframes are created.
Setting static parameters with the default keyframe is only useful if you don't want to change anything over time. Normally you need to move the camera around or change mask positions e.g. if a mask needs to follow an object. Defining additional keyframes to the default one is a very convenient technique for creating dynamic changes.

In Cinelerra, there are keyframes for almost every compositing parameter and effect parameter.
Parameters can be graphically represented in many forms: curves, toggles, modes, and so on.
The relative keyframe can be represented on the timeline as a little square on a curve (e.g. fade) or as a symbol (e.g. mask).
In Cinelerra the term keyframe can be misleading: it doesn't refer to a frame, but to a point between two frames.

To display the graphical representation of parameters and the relative keyframes use the View menu.
A faster way to toggle multiple parameters types is to bring up Window -> Show Overlays. This window allows toggling of every parameter in the view menu. When parameters are selected, they are drawn on the timeline over the tracks they apply to.

How to handle the different types of keyframes is described here.


18.1 Curve keyframes

Many parameters are stored in Bezier curves. Go to view->fade or view->...zoom to show curves on the timeline for those parameters. In either arrow editing mode or i-beam editing mode, move the cursor over the curves in the timeline until it changes shape. Then merely by clicking and dragging on the curve you can create a keyframe at the position.

After the keyframe is created, click drag on it again to reposition it. When you click-drag a second keyframe on the curve, it creates a smooth ramp. CTRL-dragging on a keyframe changes the value of either the input control or the output control. This affects the sharpness of the curve. While the input control and the output control can be moved horizontally as well as vertically, the horizontal movement is purely for legibility and is not used in the curve value.

You may remember that The Gimp and the Compositing masks all use SHIFT to select control points so why does the timeline use CTRL? When you SHIFT-drag on a timeline curve, the keyframe snaps to the value of either the next or previous keyframe, depending on which exists. This lets you set a constant curve value without having to copy the next or previous keyframe.


18.1.1 Navigating curve keyframes

There is not much room on the timeline for a wide range of curve values. You need to zoom the curves in and out vertically to have any variability. This is done by 2 tools: the automation fit button and automation zoom menu manual_images_intl/autozoom.

The automation fit button scales and offsets the vertical range so the selected curve area appears in the timeline. If a region of the timeline is highlighted by the cursor, only that region is scaled. In/out points do not affect the zoomed region. ALT-f also performs automation fitting.

The automation zoom menu manually changes the vertical scaling of the curves in multiples of 2. Click on its tumbler to change the zoom. ALT-UP and ALT-DOWN change the automation zoom from the keyboard.


18.2 Toggle keyframes

Mute is the only toggle keyframe. Mute keyframes determine where the track is processed but not rendered to the output. Click-drag on these curves to create a keyframe. Unlike curves, the toggle keyframe has only two values: on or off. CTRL and SHIFT do nothing on toggle keyframes.


18.3 Automatic keyframes

You may have noticed when a few fade curves are set up, moving the insertion point around the curves causes the faders to reflect the curve value under the insertion point. This is not just to look cool. The faders themselves can set keyframes in automatic keyframe mode. Automatic keyframe mode is usually more useful than dragging curves.

Enable automatic keyframe mode by enabling the automatic keyframe toggle manual_images_intl/autokeyframe. In automatic keyframe mode, every time you tweek a key-framable parameter it creates a keyframe on the timeline. Since automatic keyframes affect many parameters, it is best enabled just before you need a keyframe and disabled immediately thereafter.

It is useful to go into the View menu and make the desired parameter visible before performing a change. The location where the automatic keyframe is generated is under the insertion point. If the timeline is playing back during a tweek, several automatic keyframes will be generated as you change the parameter.

When automatic keyframe mode is disabled, a similarly strange thing happens. Adjusting a parameter adjusts the keyframe immediately preceding the insertion point. If two fade keyframes exist and the insertion point is between them, changing the fader changes the first keyframe.

There are many parameters which can only be keyframed in automatic keyframe mode. These are parameters for which curves would take up too much space on the track or which can not be represented easily by a curve.

Effects are only key-framable in automatic mode because of the number of parameters in each individual effect.

Camera and projector translation can only be keyframed in automatic keyframe mode while camera and projector zoom can be keyframed with curves. It is here that we conclude the discussion of compositing, since compositing is highly dependant on the ability to change over time.


18.4 Compositor keyframes

Camera and projector translation is represented by two parameters: x and y. Therefore it is cumbersome to adjust with curves. Cinelerra solves this problem by relying on automatic keyframes. With a video track loaded, move the insertion point to the beginning of the track and enable automatic keyframe mode.

Move the projector slightly in the compositor window to create a keyframe. Then go forward several seconds. Move the projector a long distance to create another keyframe and emphasize motion. This creates a second projector box in the compositor, with a line joining the two boxes. The joining line is the motion path. If you create more keyframes, more boxes are created. Once all the desired keyframes are created, disable automatic keyframe mode.

Now when scrubbing around with the compositor window's slider, the video projection moves over time. At any point between two keyframes, the motion path is red for all time before the insertion point and green for all time after the insertion point. It is debatable if this is a very useful feature but it makes you feel good to know what keyframe is going to be affected by the next projector tweek.

Click-drag when automatic keyframes are off to adjust the preceding keyframe. If you are halfway between two keyframes, the first projector box is adjusted while the second one stays the same. Furthermore, the video does not appear to move in step with the first keyframe. This is because halfway between two keyframes the projector translation is interpolated. In order to set the second keyframe you will need to scrub after the second keyframe.

By default the motion path is a straight line, but it can be curved with control points. CTRL-drag to set either the in or out control point of the preceding keyframe. Once again, we depart from The Gimp because SHIFT is already used for zoom. After the in or out control points are extrapolated from the keyframe, CTRL-dragging anywhere in the video adjusts the nearest control point. A control point can be out of view entirely yet still controllable.

When editing the camera translation, the behavior of the camera boxes is slightly different. Camera automation is normally used for still photo panning. The current camera box does not move during a drag, but if multiple keyframes are set, every camera box except the current keyframe appears to move. This is because the camera display shows every other camera position relative to the current one.

The situation becomes more intuitive if you bend the motion path between two keyframes and scrub between the two keyframes. The division between red and green, the current position between the keyframes, is always centered while the camera boxes move.


18.5 Editing keyframes

IMPORTANT: when copying and pasting keyframes, make sure there is no IN or OUT point defined on the timeline.

Keyframes can be shifted around and moved between tracks on the timeline using similar cut and paste operations to editing media. Only the keyframes selected in the view menu are affected by keyframe editing operations, however.

The most popular keyframe editing operation is replication of some curve from one track to the other, to make a stereo pair. The first step is to solo the source track's record manual_images_intl/recordpatch_up patch by SHIFT-clicking on it. Then either set in/out points or highlight the desired region of keyframes. Go to keyframes->copy keyframes to copy them to the clipboard. Solo the destination track's record manual_images_intl/recordpatch_up patch by SHIFT-clicking on it and go to keyframes->paste keyframes to paste the clipboard.

The media editing commands are mapped to the keyframe editing commands by using the SHIFT key instead of just the keyboard shortcut.

This leads to the most complicated part of keyframe editing, the default keyframe. Remember that when no keyframes are set at all, there is still a default keyframe which stores a global parameter for the entire duration. The default keyframe is not drawn because it always exists. What if the default keyframe is a good value which you want to transpose between other non-default keyframes? The keyframes->copy default keyframe and keyframes->paste default keyframe allow conversion of the default keyframe to a non-default keyframe.

Keyframes->copy default keyframe copies the default keyframe to the clipboard, no matter what region of the timeline is selected. The keyframes->paste keyframes function may then be used to paste the clipboard as a non-default keyframe.

If you have copied a non-default keyframe, it can be stored as the default keyframe by calling keyframes->paste default keyframe. After using paste default keyframe to convert a non-default keyframe into a default keyframe, you will not see the value of the default keyframe reflected until all the non-default keyframes are removed.

Finally, there is a convenient way to delete keyframes besides selecting a region and calling keyframes->clear keyframes. Merely click-drag a keyframe before its preceding keyframe or after its following keyframe on the track.This is the only way you can simultaneously delete keyframes on ganged tracks.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by root on March, 8 2008 using texi2html 1.76.