OpenTimelineIO

Open Source API and interchange format for editorial timeline information.

Github stars Tracking Chart

OpenTimelineIO

OpenTimelineIO

Supported VFX Platform Versions
Supported Versions
Build Status
codecov
docs

Main web site: http://opentimeline.io/

Documentation: https://opentimelineio.readthedocs.io/

GitHub: https://github.com/PixarAnimationStudios/OpenTimelineIO

Discussion group: https://lists.aswf.io/g/otio-discussion

Slack channel: https://academysoftwarefdn.slack.com/messages/CMQ9J4BQC
To join, create an account here first: https://slack.aswf.io/

PUBLIC BETA NOTICE

OpenTimelineIO is currently in Public Beta. That means that it may be missing
some essential features and there are large changes planned. During this phase
we actively encourage you to provide feedback, requests, comments, and/or
contributions.

Overview

OpenTimelineIO is an interchange format and API for editorial cut information.
OTIO is not a container format for media, rather it contains information about
the order and length of cuts and references to external media.

OTIO includes both a file format and an API for manipulating that format. It
also includes a plugin architecture for writing adapters to convert
from/to existing editorial timeline formats. It also implements a dependency-
less library for dealing strictly with time, opentime.

You can provide adapters for your video editing tool or pipeline as needed.
Each adapter allows for import/export between that proprietary tool and the
OpenTimelineIO format.

Documentation

Documentation, including quick start, architecture, use cases, API docs, and much more, is available on ReadTheDocs

Adapters

OpenTimelineIO supports, or plans to support, conversion adapters for many
existing file formats, such as Final Cut Pro XML, AAF, CMX 3600 EDL, etc.

See: https://opentimelineio.readthedocs.io/en/latest/tutorials/adapters.html

Other Plugins

OTIO also supports several other kinds of plugins, for more information see:

  • Media Linkers - Generate media references to local media according to your local conventions.
  • HookScripts - Scripts that can run at various points during OTIO execution (ie before the media linker)
  • SchemaDefs - Define OTIO schemas.

Installing / Quick-Start

The python-wrapped version of OpenTimelineIO is publicly available via pypy. You can install OpenTimelineIO via:

pip install opentimelineio

For detailed installation instructions and notes on how to run the included viewer program, see: https://opentimelineio.readthedocs.io/en/latest/tutorials/quickstart.html

Example Usage

import opentimelineio as otio

timeline = otio.adapters.read_from_file("foo.aaf")
for clip in timeline.each_clip():
  print clip.name, clip.duration()

There are more code examples here: https://github.com/PixarAnimationStudios/OpenTimelineIO/tree/master/examples

Also, looking through the unit tests is a great way to see what OTIO can do:
https://github.com/PixarAnimationStudios/OpenTimelineIO/tree/master/tests

OTIO includes a viewer program as well (see the quickstart section for instructions on installing it):

OTIO View Screenshot

Developing

If you want to contribute to the project, please see: https://opentimelineio.readthedocs.io/en/latest/tutorials/contributing.html

You can get the latest development version via:

git clone git@github.com:PixarAnimationStudios/OpenTimelineIO.git OpenTimelineIO

You can install development dependencies with pip install .[dev]

You can also install the PySide2 dependency with pip install .[view]

Currently the code base is written against python 2.7, python 3.6 and 3.7, in keeping
with the pep8 style. We ask that before you submit a pull request, you:

  • run make test -- to ensure that none of the unit tests were broken
  • run make lint -- to conform to pep8
  • run make coverage -- to detect code which isn't covered

PEP8: https://www.python.org/dev/peps/pep-0008/

License

OpenTimelineIO is open source software. Please see LICENSE.txt for details.

Nothing in the license file or this project grants any right to use Pixar or any other contributor’s trade names, trademarks, service marks, or product names.

Contact

For more information, please visit http://opentimeline.io/
or https://github.com/PixarAnimationStudios/OpenTimelineIO
or join our discussion forum: https://lists.aswf.io/g/otio-discussion

Main metrics

Overview
Name With OwnerAcademySoftwareFoundation/OpenTimelineIO
Primary LanguagePython
Program languageMakefile (Language Count: 5)
Platform
License:Apache License 2.0
所有者活动
Created At2016-08-23 21:22:18
Pushed At2025-06-02 01:56:46
Last Commit At
Release Count23
Last Release Namev0.17.0 (Posted on )
First Release Namev0.1 (Posted on )
用户参与
Stargazers Count1.6k
Watchers Count105
Fork Count303
Commits Count782
Has Issues Enabled
Issues Count654
Issue Open Count188
Pull Requests Count799
Pull Requests Open Count38
Pull Requests Close Count358
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private