Serialized Data Documentation¶
This documents all the OpenTimelineIO classes that serialize to and from JSON, omitting SchemaDef plugins. This document is automatically generated by running:
src/py-opentimelineio/opentimelineio/console/autogen_serialized_datamodel.py
or by running:
make doc-model
It is part of the unit tests suite and should be updated whenever the schema changes. If it needs to be updated and this file regenerated, run:
make doc-model-update
Class Documentation¶
Module: opentimelineio.adapters¶
Adapter.1¶
full module path: opentimelineio.adapters.Adapter
documentation:
Adapters convert between OTIO and other formats.
Note that this class is not subclassed by adapters. Rather, an adapter is
a python module that implements at least one of the following functions:
write_to_string(input_otio)
write_to_file(input_otio, filepath) (optionally inferred)
read_from_string(input_str)
read_from_file(filepath) (optionally inferred)
...as well as a small json file that advertises the features of the adapter
to OTIO. This class serves as the wrapper around these modules internal
to OTIO. You should not need to extend this class to create new adapters
for OTIO.
For more information:
https://opentimelineio.readthedocs.io/en/latest/tutorials/write-an-adapter.html# # noqa
parameters:
execution_scope: Describes whether this adapter is executed in the current python process or in a subshell. Options are: [‘in process’, ‘out of process’].
filepath: Absolute path or relative path to adapter module from location of json.
name: Adapter name.
suffixes: File suffixes associated with this adapter.
Module: opentimelineio.core¶
Composable.1¶
full module path: opentimelineio.core.Composable
documentation:
None
parameters:
metadata:
name:
Composition.1¶
full module path: opentimelineio.core.Composition
documentation:
None
parameters:
effects:
markers:
metadata:
name:
source_range:
Item.1¶
full module path: opentimelineio.core.Item
documentation:
None
parameters:
effects:
markers:
metadata:
name:
source_range:
MediaReference.1¶
full module path: opentimelineio.core.MediaReference
documentation:
None
parameters:
available_range:
metadata:
name:
SerializableObjectWithMetadata.1¶
full module path: opentimelineio.core.SerializableObjectWithMetadata
documentation:
None
parameters:
metadata:
name:
Module: opentimelineio.hooks¶
HookScript.1¶
full module path: opentimelineio.hooks.HookScript
documentation:
None
parameters:
execution_scope: Describes whether this adapter is executed in the current python process or in a subshell. Options are: [‘in process’, ‘out of process’].
filepath: Absolute path or relative path to adapter module from location of json.
name: Adapter name.
Module: opentimelineio.media_linker¶
MediaLinker.1¶
full module path: opentimelineio.media_linker.MediaLinker
documentation:
None
parameters:
execution_scope: Describes whether this adapter is executed in the current python process or in a subshell. Options are: [‘in process’, ‘out of process’].
filepath: Absolute path or relative path to adapter module from location of json.
name: Adapter name.
Module: opentimelineio.opentime¶
RationalTime.1¶
full module path: opentimelineio.opentime.RationalTime
documentation:
None
parameters:
rate:
value:
TimeRange.1¶
full module path: opentimelineio.opentime.TimeRange
documentation:
None
parameters:
duration:
start_time:
TimeTransform.1¶
full module path: opentimelineio.opentime.TimeTransform
documentation:
None
parameters:
offset:
rate:
scale:
Module: opentimelineio.plugins¶
PluginManifest.1¶
full module path: opentimelineio.plugins.Manifest
documentation:
Defines an OTIO plugin Manifest.
This is an internal OTIO implementation detail. A manifest tracks a
collection of adapters and allows finding specific adapters by suffix
For writing your own adapters, consult:
https://opentimelineio.readthedocs.io/en/latest/tutorials/write-an-adapter.html#
parameters:
adapters: Adapters this manifest describes.
hook_scripts: Scripts that can be attached to hooks.
hooks: Hooks that hooks scripts can be attached to.
media_linkers: Media Linkers this manifest describes.
schemadefs: Schemadefs this manifest describes.
SerializableObject.1¶
full module path: opentimelineio.plugins.PythonPlugin
documentation:
A class of plugin that is encoded in a python module, exposed via a
manifest.
parameters:
execution_scope: Describes whether this adapter is executed in the current python process or in a subshell. Options are: [‘in process’, ‘out of process’].
filepath: Absolute path or relative path to adapter module from location of json.
name: Adapter name.
Module: opentimelineio.schema¶
Clip.1¶
full module path: opentimelineio.schema.Clip
documentation:
None
parameters:
effects:
markers:
media_reference:
metadata:
name:
source_range:
Effect.1¶
full module path: opentimelineio.schema.Effect
documentation:
None
parameters:
effect_name:
metadata:
name:
ExternalReference.1¶
full module path: opentimelineio.schema.ExternalReference
documentation:
None
parameters:
available_range:
metadata:
name:
target_url:
FreezeFrame.1¶
full module path: opentimelineio.schema.FreezeFrame
documentation:
None
parameters:
effect_name:
metadata:
name:
time_scalar:
Gap.1¶
full module path: opentimelineio.schema.Gap
documentation:
None
parameters:
effects:
markers:
metadata:
name:
source_range:
GeneratorReference.1¶
full module path: opentimelineio.schema.GeneratorReference
documentation:
None
parameters:
available_range:
generator_kind:
metadata:
name:
parameters:
ImageSequenceReference.1¶
full module path: opentimelineio.schema.ImageSequenceReference
documentation:
An ImageSequenceReference refers to a numbered series of single-frame image files. Each file can be referred to by a URL generated by the ImageSequenceReference.
Image sequncences can have URLs with discontinuous frame numbers, for instance if you've only rendered every other frame in a sequence, your frame numbers may be 1, 3, 5, etc. This is configured using the ``frame_step`` attribute. In this case, the 0th image in the sequence is frame 1 and the 1st image in the sequence is frame 3. Because of this there are two numbering concepts in the image sequence, the image number and the frame number.
Frame numbers are the integer numbers used in the frame file name. Image numbers are the 0-index based numbers of the frames available in the reference. Frame numbers can be discontinuous, image numbers will always be zero to the total count of frames minus 1.
An example for 24fps media with a sample provided each frame numbered 1-1000 with a path ``/show/sequence/shot/sample_image_sequence.%04d.exr`` might be::
{
"available_range": {
"start_time": {
"value": 0,
"rate": 24
},
"duration": {
"value": 1000,
"rate": 24
}
},
"start_frame": 1,
"frame_step": 1,
"rate": 24,
"target_url_base": "file:///show/sequence/shot/",
"name_prefix": "sample_image_sequence.",
"name_suffix": ".exr"
"frame_zero_padding": 4,
}
The same duration sequence but with only every 2nd frame available in the sequence would be::
{
"available_range": {
"start_time": {
"value": 0,
"rate": 24
},
"duration": {
"value": 1000,
"rate": 24
}
},
"start_frame": 1,
"frame_step": 2,
"rate": 24,
"target_url_base": "file:///show/sequence/shot/",
"name_prefix": "sample_image_sequence.",
"name_suffix": ".exr"
"frame_zero_padding": 4,
}
A list of all the frame URLs in the sequence can be generated, regardless of frame step, with the following list comprehension::
[ref.target_url_for_image_number(i) for i in range(ref.number_of_images_in_sequence())]
Negative ``start_frame`` is also handled. The above example with a ``start_frame`` of ``-1`` would yield the first three target urls as:
- ``file:///show/sequence/shot/sample_image_sequence.-0001.exr``
- ``file:///show/sequence/shot/sample_image_sequence.0000.exr``
- ``file:///show/sequence/shot/sample_image_sequence.0001.exr``
parameters:
available_range:
frame_step: Step between frame numbers in file names.
frame_zero_padding: Number of digits to pad zeros out to in frame numbers.
metadata:
missing_frame_policy: Enum
ImageSequenceReference.MissingFramePolicy
directive for how frames in sequence not found on disk should be handled.name:
name_prefix: Everything in the file name leading up to the frame number.
name_suffix: Everything after the frame number in the file name.
rate: Frame rate if every frame in the sequence were played back.
start_frame: The first frame number used in file names.
target_url_base: Everything leading up to the file name in the
target_url
.
LinearTimeWarp.1¶
full module path: opentimelineio.schema.LinearTimeWarp
documentation:
None
parameters:
effect_name:
metadata:
name:
time_scalar:
Marker.2¶
full module path: opentimelineio.schema.Marker
documentation:
None
parameters:
color:
marked_range:
metadata:
name:
MissingReference.1¶
full module path: opentimelineio.schema.MissingReference
documentation:
None
parameters:
available_range:
metadata:
name:
SerializableCollection.1¶
full module path: opentimelineio.schema.SerializableCollection
documentation:
None
parameters:
metadata:
name:
Stack.1¶
full module path: opentimelineio.schema.Stack
documentation:
None
parameters:
effects:
markers:
metadata:
name:
source_range:
TimeEffect.1¶
full module path: opentimelineio.schema.TimeEffect
documentation:
None
parameters:
effect_name:
metadata:
name:
Timeline.1¶
full module path: opentimelineio.schema.Timeline
documentation:
None
parameters:
global_start_time:
metadata:
name:
tracks:
Track.1¶
full module path: opentimelineio.schema.Track
documentation:
None
parameters:
effects:
kind:
markers:
metadata:
name:
source_range:
Transition.1¶
full module path: opentimelineio.schema.Transition
documentation:
None
parameters:
in_offset:
metadata:
name:
out_offset:
transition_type:
SchemaDef.1¶
full module path: opentimelineio.schema.SchemaDef
documentation:
None
parameters:
execution_scope: Describes whether this adapter is executed in the current python process or in a subshell. Options are: [‘in process’, ‘out of process’].
filepath: Absolute path or relative path to adapter module from location of json.
name: Adapter name.