Conform

Support for OpenTimelineIO (OTIO)

OpenTimelineIO (OTIO) is an open-source interchange format and API developed by Pixar Animation Studios for representing editorial timelines for VFX, animation, editorial, and pipeline automation. This open-source project has been under the umbrella of the Academy Software Foundation (ASWF) since 2019. The current version of OTIO is 0.18.1.

The OTIO file format (.otio) uses the JSON format and describes the following:

This format is perfect for pipeline engineers who want to programmatically modify the editorial structure of a sequence before importing it in Flame.

OTIO files can be opened in the Conform environment the same way as AAF, XML, or EDL files. They do not have resolution and bit depth attributes. These need to be manually defined in the OTIO Import Options tab of the MediaHub or Media Import window.

It is possible to use the Path Translation tool located in the System Preferences menu to convert the original media locations to the ones matching your configuration.


Limitations

The application supports basic OTIO sequences but does not support the Effects and effect properties from third-party applications.


Transitions

Cuts, dissolves, wipes, and audio fades are conformed accordingly. If the SMPTE preset number of a wipe transition can be detected, that preset is loaded. Otherwise, the SMPTE 001-Horizontal preset is used and a pink marker is added to indicate that the original preset was not loaded.

Unsupported transitions are conformed as dissolves. A pink marker is added to these dissolves and indicates the original transition type in its comment.


Timewarp

Retiming effects present in an OTIO file are conformed as Timewarp Timeline FX.


Importing OTIO Sequences from Third-Party Applications

It is possible to import OTIO sequences exported from these applications:

Versions newer of these applications are also supported.


Python API

The OpenTimelineIO Python module is installed with the application, which means it is possible to interact with OTIO files from the Python Console.

Examples

# List clips in an OTIO file.

import opentimelineio as otio

input_otio = "/usr/tmp/sequence.otio"

timeline = otio.adapters.read_from_file(input_otio)

for clip in timeline.find_clips():
    print(clip.name, "-", clip.media_reference.target_url)
# Print Tracks Layout.

import opentimelineio as otio

input_otio = "/usr/tmp/sequence.otio"

timeline = otio.adapters.read_from_file(input_otio)

for track in timeline.tracks:
    print("Track:", track.name)
    for item in track:
        print("  -", item)

Resources

For more information, see the OpenTimelineIO documentation and the GitHub project page.