Skip to content

Olive 0.2.x Quickstart

Zumi edited this page Nov 23, 2020 · 17 revisions

This guide is a short introduction for users who want to try out Olive 0.2.x. Please note that as development continues, changes are made all the time so this guide might get outdated quickly.

File Format

Olive has been redesigned from the ground up, and so too its' file format.

Olive 0.1.x files won't be compatible with 0.2.x due to its different design.

The file format for 0.2.x are still XML based files for now, but they will reflect the new features that is described below.

Sequencer Presets

Fig 1a. Sequencer Window
Fig 1a. Sequencer Window

The window that appears when you create a new sequence has been redone. I think this is self-explanatory.

When you save a preset, it currently only saves it to the "My Presets" folder.

Node Editing

Fig 2a. Node Editor
Fig 2a. Node Editor

This is another way of compositing/applying effects to a clip. Rather than the Adobe-style effect stack, effects are built modularly. It gives the user more flexibility in the kinds of effects they are able to create, and reduces the need for individual plugins.

In the default configuration, the Node Editor should be enabled. Selecting a clip in the timeline will show you what particular nodes are associated with it.

Now, before you ask, "Where's my layers? I want to stack up some effects!" Don't worry, you can still do both of these things!

By default, Olive composites from bottom layer to top, just as you'd expect. "Stacking up" effects, you can do simply by plopping a node on top of a node connection (which we'll get to in a bit).

However, with a node-based compositing system, you can change the compositing order very easily. You may also apply a single effect configuration for multiple clips - even multiple tracks - and modify them in one go!

While the Transform effect is now present (and should be added by default) as of 54cd244, let's emulate it anyway, for the sake of knowing how it all works.

Remove the Transform effect by selecting it and pressing Delete. You'll notice that your footage disappears from the viewer. To make it show up again, you need to re-link the Media node to the footage buffer. You can do this by holding Ctrl while the cursor is placed on the Media node, then click-dragging in the direction of the other node, which would be your footage. You can use only use the left mouse button to drag. Connect it to the Buffer field.

Fig 2b. Removing the Transform Node and Relinking
Fig 2b. Removing the Transform Node and Relinking

In order to emulate the Transform effect, add two nodes: "Orthographic Matrix" (under Generator) and "Math" (under... well, Math). You can add those by right-clicking on the Node Editor canvas, then hover over "Add".

Fig 2c. Add Math Node
Fig 2c. Add Math Node

Place the Math node over the line that connects the Video Input with the clip. (Fig. 2b)

Fig 2d. Connect Ortho
Fig 2d. Connect Ortho

Now connect the Ortho and Math nodes, the same way you relinked the media node earlier. Once the cursor is placed on the Math node, you will see two fields pop up, both named "Value". You'll want to connect to the bottom field. (Fig. 2c)

Fig 2e. Math Parameters
Fig 2e. Math Parameters

Select the Math node. Make sure the Parameter Editor panel is visible, then change the Method from "Add" to "Multiply". (Fig. 2d)

Fig 2f. Ortho Parameters
Fig 2f. Ortho Parameters

Now click on the Ortho node. You should see the controls for 0.1.x's Transform effect pop up, and it functions the same way (since it affects the footage via the Math node we connected earlier) (Fig. 2e)

For now, you may want to scrub the timeline to see the effects.

Editing Values

The value slider has also been redone. Instead of holding Shift for more precision, this slider now appears.

To decide the precision (x100, x10, x1, ...), you drag up or down while holding Ctrl (as of fd8116a9). Changing the value with the specified precision is done by dragging left or right.

Fig 3a. Editing Values
Fig 3a. Editing Values

Caching

During editing, Olive pre-renders a portion or all of the sequence to disk as small images. This is done to make previewing edits faster since Olive doesn't have to render everything all over again when nothing has been changed.

Fig 4a. Disk Cache Settings
Fig 4a. Disk Cache Settings

You can change how Olive caches sequences from the Tool -> Preferences dialog. (Fig. 4a)

Fig 4b. Project Cache Settings
Fig 4b. Project Cache Settings

You can also set the cache path on a per-project basis using File -> Project Properties. (Fig. 4b)

Color Management

Fig 5a. Without color management Fig 5b. Color managed gradient
Fig 5a. Without color management Fig 5b. Color managed gradient

Olive 0.2 features end-to-end color management utilizing OpenColorIO.

While the concepts of color management can seem complicated for the uninitiated, it's an extremely valuable system to understand that affects all compositing done in Olive 0.2. Here's a simplified explanation of what makes color management so important:

  • Digital storage inherently has various hard limitations. As an example, digital images are frequently limited to 8-bits (a range of 0 to 255) per color channel (red/green/blue). That means for each color channel, there can only be 256 gradations between no light and full blast. Light in the real world, however, is "analog" - it theoretically has infinite gradations and no upper limit whatsoever. This becomes challenging when trying to digitize light information into an inherently limited format, often resulting in a side effect known as "color banding".

  • To take the most advantage of the limited storage space, digital images are almost always stored non-linearly, that is each gradation doesn't necessarily represent the same amount of physical light. This is usually done to take advantage of limitations in human eyesight; humans tend to be much more aware of changes in lighter colors than darker ones. Often our eyes will perceive various darker colors as simply "black" or "dark grey", regardless of how different they might actually be. By using a non-linear encoding, we can dedicate a lot more of our limited storage space to lighter colors where banding would be much more noticeable, and while this obviously increases banding in darker colors, since we're less likely to notice changes in darker colors anyway, the result is overall less perceptible banding.

  • Non-linear encoding is fine for storing and displaying images, but when it comes to compositing them, it starts to cause a lot of problems. Since the values stored in the images are no longer accurate to how light actually works, the resulting images from trying to blend them together will seem "off" (Fig. 5a).

  • Olive 0.2 is designed to composite all images linearly so that they're always accurate and behave how light would in the real world (Fig 5b). Through OpenColorIO, Olive supports various camera log encodings, digital image encodings, and also allows you to match your monitor's encoding while previewing and export to the delivery encoding of your choice.

Fig 5c. Project Color Settings
Fig 5c. Project Color Settings

Color management can be set on a per-project basis. (Fig. 5c)

Olive comes bundled with a basic configuration akin to Filmic Blender, which you can replace with your own configuration file containing the color space definitions compatible with your camera. ACES is commonly used and contains configurations for several brands of camera.

Fig 5d. Footage Color Settings
Fig 5d. Footage Color Settings

The "Default Input Color Space" settings determines the default color space in which your footage is imported in. You can still change the color space of your footage individually through right clicking on a footage and choosing "Properties". (Fig. 5d)

Fig 5e. Sequence Viewer Context Menu
Fig 5e. Sequence Viewer Context Menu

If you right-click on the Sequence Viewer, you will also find submenus related to color management: Display, View, and Look. (Fig. 5e)

The Display submenu should be set to the type of display of your screen. For PC users, this is usually "sRGB", unless you have a specialized monitor.

View is the type of function to be used when converting the processed color data to displayable values.

Look is basically the type of color grading or filter to use. By default, it comes with various contrast grades, a greyscale grade and a "false color" grade, useful to determine clipping.

Fig 5f. Pixel Sampler
Fig 5f. Pixel Sampler

0.2.x pre-alpha also provides a pixel sampler, where the "Display" panel is the color value that gets displayed onto the screen, and the "Reference" panel is the "raw" color value. For precision, these are expressed as floating point values. It also isn't always in the range of 0-1 because of the contextual nature of color values. (Fig. 5f)

Some resources you can use to better understand color management (and digital color in general) is Hitchhiker's Guide to Digital Color, as well as the Cinematic Color paper.