Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Algojammer | 2,934 | 4 years ago | 10 | apache-2.0 | C++ | |||||
An experimental code editor for writing algorithms | ||||||||||
Dialogic | 2,170 | 4 days ago | 133 | mit | GDScript | |||||
💬 Create dialogs, characters and scenes to display conversations in your Godot games. | ||||||||||
Motionity | 2,078 | 6 months ago | 10 | mit | JavaScript | |||||
The web-based motion graphics editor for everyone 📽 | ||||||||||
Opentimelineio | 1,200 | 6 days ago | 219 | apache-2.0 | Python | |||||
Open Source API and interchange format for editorial timeline information. | ||||||||||
Genericframerecorder | 497 | 3 years ago | 35 | other | C# | |||||
This GitHub package is DEPRECATED. Please get the new Unity Recorder from the Asset Store (https://assetstore.unity.com/packages/essentials/unity-recorder-94079) Use the editor builtin Bug Reporter to report issues. You can track and vote for issues on the Issue Tracker (https://issuetracker.unity3d.com) | ||||||||||
Mojs Timeline Editor | 240 | a year ago | 1 | JavaScript | ||||||
GUI for interactive `html`/`custom points`/`timeline` editing while crafting your animations | ||||||||||
Unityframework | 184 | a month ago | 3 | C# | ||||||
Framework for Unity that includes lots of useful utility functions and helper classes. | ||||||||||
Videotimelineview | 36 | 2 years ago | Swift | |||||||
Video timeline UI for iOS Apps | ||||||||||
Speck | 20 | 3 years ago | January 27, 2018 | 3 | Go | |||||
micro.blog for the command line. | ||||||||||
Video Editing Timeline | 18 | 2 years ago | n,ull | mit | TypeScript | |||||
Timeline for video editing(为视频编辑而写时间线) |
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.
OpenTimelineIO is an interchange format and API for editorial cut information. OTIO contains information about the order and length of cuts and references to external media. It is not however, a container format for media.
For integration with applications, the core OTIO library is implemented in C++
and provides an in-memory data model, as well as library functions for
interpreting, manipulating, and serializing that data model. Within the core is
a dependency-less library for dealing strictly with time, opentime
.
The project also supports an official python binding, which is intended to be an idiomatic and ergonomic binding for python developers. The python binding includes a plugin system which supports a number of different types of plugins, most notably adapters, which can be used to read and write legacy formats into the OTIO data model.
Documentation, including quick start, architecture, use cases, API docs, and much more, is available on ReadTheDocs
The current release supports:
For more information on our vfxplatform support policy: Contribution Guidelines Documentation Page For more information on the vfxplatform: VFX Platform Homepage
To provide interoperability with other file formats or applications lacking a native integration, the opentimelineio community has built a number of python adapter plugins. This includes Final Cut Pro XML, AAF, CMX 3600 EDL, and more.
For more information about this, including supported formats, see: https://opentimelineio.readthedocs.io/en/latest/tutorials/adapters.html
The OTIO python bindings also support several other kinds of plugins, for more information see:
The Python-wrapped version of OpenTimelineIO is publicly available via PyPI. You can install OpenTimelineIO via:
python -m 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
C++:
#include <iostream>
#include "opentimelineio/timeline.h"
namespace otio = opentimelineio::OPENTIMELINEIO_VERSION;
void
main()
{
otio::ErrorStatus err;
otio::SerializableObject::Retainer<otio::Timeline> tl(
dynamic_cast<otio::Timeline*>(
otio::Timeline::from_json_file("taco.otio", &err)
)
);
const std::vector<otio::SerializableObject::Retainer<otio::Clip>> clips = (
tl->find_clips()
);
for (const auto& cl : clips)
{
otio::RationalTime dur = cl->duration();
std::cout << "Name: " << cl->name() << " [";
std::cout << dur.value() << "/" << dur.rate() << "]" << std::endl;
}
}
Python:
import opentimelineio as otio
timeline = otio.adapters.read_from_file("foo.aaf")
for clip in timeline.find_clips():
print(clip.name, clip.duration())
There are more code examples here: https://github.com/AcademySoftwareFoundation/OpenTimelineIO/tree/main/examples
Also, looking through the unit tests is a great way to see what OTIO can do: https://github.com/AcademySoftwareFoundation/OpenTimelineIO/tree/main/tests
OTIO includes a viewer program as well (see the quickstart section for instructions on installing it):
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 [email protected]:AcademySoftwareFoundation/OpenTimelineIO.git --recursive
You can install development dependencies with python -m pip install .[dev]
You can also install the PySide2 dependency with python -m pip install .[view]
You may need to escape the [
depending on your shell, \[view\]
.
Currently the code base is written against python 3.7, 3.8, 3.9, 3.10 and 3.11, in keeping with the pep8 style. We ask that before developers submit pull request, they:
make test
-- to ensure that none of the unit tests were brokenmake lint
-- to ensure that coding conventions conform to pep8make coverage
-- to detect code which isn't coveredPEP8: https://www.python.org/dev/peps/pep-0008/
For advanced developers, arguments can be passed to CMake through the pip
commandline by using the CMAKE_ARGS
environment variable.
*nix Example:
env CMAKE_ARGS="-DCMAKE_VAR=VALUE1 -DCMAKE_VAR_2=VALUE2" pip install .
Additionaly, to reproduce CI failures regarding the file manifest, run:
make manifest
locally to run the python check-manifest
program.
To enable C++ code coverage reporting via gcov/lcov for builds, set the following environment variables:
OTIO_CXX_COVERAGE_BUILD=ON
OTIO_CXX_BUILD_TMP_DIR=path/to/build/dir
When building/installing through pip
/setup.py
, these variables must be set
before running the install command (python -m pip install .
for example).
OpenTimelineIO is open source software. Please see the LICENSE.txt for details.
Nothing in the license file or this project grants any right to use Pixar or any other contributors trade names, trademarks, service marks, or product names.
For more information, please visit http://opentimeline.io/ or AcademySoftwareFoundation/OpenTimelineIO or join our discussion forum: https://lists.aswf.io/g/otio-discussion