-
-
Notifications
You must be signed in to change notification settings - Fork 556
Olive 0.2.x Quickstart
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.
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.
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.
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.
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 |
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 2b. Add Math Node |
Place the Math node over the line that connects the Video Input with the clip. (Fig. 2b)
Fig 2c. Connect Ortho |
Now connect the Ortho and Math nodes. 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 2d. 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 2e. 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.
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 |
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 |
You can change how Olive caches sequences from the Tool -> Preferences dialog. (Fig. 4a)
Fig 4b. Project Cache Settings |
You can also set the cache path on a per-project basis using File -> Project Properties. (Fig. 4b)
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 |
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 |
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 |
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 |
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.
🚧 This wiki is work in progress and information may be outdated!
Our Discord server is Olive Video Editor.
Thank you for your interest in Olive and helping it reach more people.