Expand description
OTIO semantic driver — timeline-level diff and merge for OpenTimelineIO files.
§Architecture
OpenTimelineIO (OTIO) files are JSON documents describing video editing timelines. The key challenge is identity: OTIO doesn’t require unique IDs for elements, so we use content-based identity heuristics.
Identity strategy:
- Clips: Identified by
media_reference.target_url+source_range.start_time(fallback:name+source_range). This means renaming a clip without changing its source preserves identity. - Tracks/Stacks: Identified by
name+kind+ position in parent. - Transitions: Identified by
name+ position in parent. - Timeline: Always identity element (there’s only one root).
The merge operates at the JSON level: it parses the OTIO JSON, compares element trees using content-based identity, performs a three-way merge, and serializes the result back to JSON.
Structs§
- Change
Description - Clip
- Legacy
Otio Driver - Legacy OtioDriver that supports the old API.
- Otio
Driver - Rational
Time - Serializable
Collection - Stack
- Time
Range - Timeline
- Track
- Transition
Enums§
- Otio
Error - Otio
Node - All recognized OTIO node types. Unknown types are stored as opaque JSON.
- Timeline
Element