Audio and video · Edition No. 56 · 20 Oct 2026

AcademySoftwareFoundation/OpenTimelineIO

An interchange format and library for editing timelines: the order and length of cuts, and references to the media, but not the media.

← Audio and videoRead the whole edition →
OpenTimelineIO: a format for edit timelines. Moves a video cut between editing programs.

2k stars · Apache-2.0 | [opentimeline.io](http://opentimeline.io) · v0.18.1, read from /releases/latest, shown as '09 Nov' with no year; 9 November 2026 is in the future, so 9 November 2025. Code pushed 2026-10-17 per ungh.cc, so a stale release against live code. · Track this in Scout

An interchange format and library for editing timelines: the order and length of cuts, and references to the media, but not the media.

▶Repo detailsthe review · specs · pros & cons · install

What it does

OpenTimelineIO stores editorial information — which clip, in what order, at what length, with what references to external media files. The core is a C++ library with an in-memory data model and functions to read, change and serialise it, plus a separate dependency-free opentime library that handles timecode and rational time arithmetic. The Python binding adds a plugin system whose main plugin type is the adapter, which reads and writes the formats editing programs already use: the README names Final Cut Pro XML, AAF and CMX 3600 EDL. Other plugin types handle media linking, hook scripts and schema definitions. It supports the VFX Reference Platform years 2022 to 2025 and Python 3.9 to 3.15, and the README describes the API as stable and the framework as mature and widely deployed in film and television. One thing to know before installing: since v0.16 the main PyPI package carries only the core libraries and the native .otio, .otioz and .otiod formats, and every other adapter moved to its own repository, reachable through a separate OpenTimelineIO-Plugins package. It is explicit about its boundary: it is "not however, a container format for media". It holds the decisions about a cut, never the pictures or the sound.

Why it matters

Who it suits. People writing software that has to touch an edit: a studio pipeline, a transcoding service, an automation step that assembles a rough cut, a reporting tool that counts shots. It also suits anyone handed an AAF or an EDL who needs to read it in Python without buying an editing suite. Skip it if you want to edit video — this is not an editor and has no interface beyond an optional viewer — and skip it if your work never leaves one program.

Verdict. Worth an hour if you ever write code that reads or writes an edit, and it is the obvious choice because the alternative is parsing a different proprietary format for every program you meet. It is backed by the Academy Software Foundation, which is the part that makes it safe to build on: this is infrastructure for an industry rather than one company's side project. Two cautions. The release rhythm is slow and the version numbers are honest about it — v0.18.1 is dated 9 November 2025, while code landed on 17 October 2026, so the project is active and simply does not tag often. And the adapter split after v0.16 catches people out: install the core, find that an AAF will not open, and the answer is the separate plugins package, not a bug.

Stars2k
LicenceApache-2.0 | [opentimeline.io](http://opentimeline.io)
Latestv0.18.1, read from /releases/latest, shown as '09 Nov' with no year; 9 November 2026 is in the future, so 9 November 2025. Code pushed 2026-10-17 per ungh.cc, so a stale release against live code.
Good
  • One format for edit decisions across programs, with adapters for Final Cut Pro XML, AAF and CMX 3600 EDL.
  • A C++ core with a Python binding and a stable API, backed by the Academy Software Foundation.
  • The opentime library has no dependencies, so rational-time arithmetic can be used on its own.
Watch for
  • Not an editor and not a media container: no interface to speak of, and it never touches the footage.
  • Adapters beyond the native formats now live in a separate OpenTimelineIO-Plugins package, which surprises first-time users.
  • One release in the last twelve months (v0.18.1, 9 November 2025), so fixes arrive from source rather than from PyPI.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install opentimelineio
pip install "OpenTimelineIO-Plugins"     # for AAF, EDL, FCP XML and the rest
python -c "import opentimelineio as otio; print(otio.__version__)"
Screenshots
AcademySoftwareFoundation/OpenTimelineIO: GitHub preview card

On Stack Radar: Design & Creative › Video Creation & Editing › Video Editors.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.