Coder Social home page Coder Social logo

col-one / opentimelineio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from academysoftwarefoundation/opentimelineio

0.0 1.0 0.0 1.36 MB

Open Source API and interchange format for editorial timeline information.

Home Page: http://opentimeline.io

License: Other

Makefile 0.36% Python 98.01% Mathematica 1.63%

opentimelineio's Introduction

OpenTimelineIO

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

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

Discussion Group: https://groups.google.com/forum/#!forum/open-timeline-io

Supported Versions Build Status

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.

Use Cases

  • I have a timeline in Adobe Premiere, and I want to bring that cut into my in-house animation system.
  • I have a timeline in Avid Media Composer, and my Producer wants to know a full list of the media I'm using.
  • I am about to render a bunch of shots & I want to make sure my frame ranges match what Editorial is asking for (not too long or too short).
  • The Editor just added some cross dissolves and I need to know how many more frames (at head or tail) of which shots need to be rendered.
  • Legal needs a list of all the audio we're using (music, effects, dialogue) in the current cut.
  • TDs/Animators want to get a cut from Editorial for reference, and then splice their updated renders/recordings into that cut.
  • Editorial is working with proxy media (QuickTime, MXF, etc.) and I want to gather all the EXRs that correspond with that & bring those into Nuke.

For more use cases, see: https://github.com/PixarAnimationStudios/OpenTimelineIO/wiki/Use-Cases

Architecture

See: https://github.com/PixarAnimationStudios/OpenTimelineIO/wiki/Architecture

Adapters

OpenTimelineIO supports, or plans to support, conversion adapters for these formats:

Final Cut Pro XML

Final Cut 7 XML Format

Final Cut Pro X XML Format:

Adobe Premiere Project

  • Based on guidance from Adobe, we support interchange with Adobe Premiere via the FCP 7 XML format (see above).

CMX3600 EDL

Avid AAF

Contrib Adapters

The contrib area hosts adapters which come from the community (not supported by the core-otio team) and may require extra dependencies.

RV Session File

  • Status: write-only adapter supported via the rv_session adapter.
  • need to set environment variables to locate py-interp and rvSession.py from within the RV distribution
  • set ${OTIO_RV_PYTHON_BIN} to point at py-interp from within rv, for example: setenv OTIO_RV_PYTHON_BIN /Applications/RV64.app/Contents/MacOS/py-interp
  • set ${OTIO_RV_PYTHON_LIB} to point at the parent directory of rvSession.py: setenv OTIO_RV_PYTHON_LIB /Applications/RV64.app/Contents/src/python

Maya Sequencer

  • Status: supported via the maya_sequencer adapter.
  • set ${OTIO_MAYA_PYTHON_BIN} to point the location of mayapy within the maya installation.

HLS Playlist

  • Status: supported via the hls_playlist adapter.

Avid Log Exchange (ALE)

  • Status: supported via the ale adapter.

Text Burn-in Adapter

Uses FFmpeg to burn text overlays into video media.

  • Status: supported via the burnins adapter.

Installing

run:

python setup.py install

To build and install the project.

Makefile

Even though the project is python, we provide a makefile with some utility targets. These include targets for running unit tests and for running a linter to conform to style guide. To run the target:

# run the unit tests
make test
# run the unit tests with verbose output
make test VERBOSE=1
# run the code through a linter
make lint
# generate a coverage report
make coverage

Developing

Currently the code base is written against python2.7 and python3.5, 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/

Contact

For more information, please visit http://opentimeline.io/ or https://github.com/PixarAnimationStudios/OpenTimelineIO or join our announcement mailing list: https://groups.google.com/forum/#!forum/open-timeline-io

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.