Introduction
OpenTimelineIO is an open format and library for
exchanging editorial timelines, started by Pixar and now a project of the Academy
Software Foundation. It is used in film and animation pipelines to move edits between
editing software and studio tools. An .otio file holds one timeline, or a
collection of them.
Two related forms bundle the timeline with its media: .otioz, a ZIP file,
and .otiod, a folder.
Structure
An .otio file is JSON. Every object has an OTIO_SCHEMA field
naming its type and schema version, such as Timeline.1. A timeline holds a
Stack of tracks; each Track holds clips, gaps and transitions
in order. A Clip has a source range, given as a start time and duration in
a stated frame rate, and a media reference, usually an
ExternalReference with the address of the media file. Any object can carry
extra data in a metadata dictionary.
{
"OTIO_SCHEMA": "Timeline.1",
"name": "Rough cut",
"tracks": {
"OTIO_SCHEMA": "Stack.1",
"children": [
{
"OTIO_SCHEMA": "Track.1",
"kind": "Video",
"children": [
{
"OTIO_SCHEMA": "Clip.2",
"name": "Interview",
"source_range": { … },
"media_references": { … }
}
]
}
]
}
}
Links
Software
- DaVinci Resolve, which imports and exports OTIO (Windows, macOS, Linux)
- otioview and otioconvert, the viewer and converter that come with OpenTimelineIO
Developers
- OpenTimelineIO, C++ library with Python bindings, the reference implementation