AcademySoftwareFoundation / OpenTimelineIO

Open Source API and interchange format for editorial timeline information.
http://opentimeline.io
Apache License 2.0
1.47k stars 293 forks source link

Add Chunked or Segmented file reference #924

Open reinecke opened 3 years ago

reinecke commented 3 years ago

Feature Request

It would be useful to have a type of MediaReference that refers to a contiguous clip that has been "chunked" or "segmented" out over multiple files.

Description

Much like an ImageSequenceReference(#69) there is a similar kind of single conceptual asset that can be spread over multiple files but rather than containing a single sample (frame) from that file, they contain a subset of the samples that make up the source. These are typically referred to as "chunked" or "segmented" files.

Some common example cases where these may come up include:

In most cases, this is done to work around file size limitations. Many software packages (like Nuke) have the user point to the first file in the sequence and then implicitly discover the other files in the sequence. It would be nice for OpenTimelineIO to represent this more explicitly to aid in detecting cases where perhaps the last file in a sequence is missing and the clip may be truncated as a result.

630 is related to this, but it's a bit more targeted at bundling together alternate media references, this would be focussed on media on-disk that is meant to be concatenated to form the full contiguous source.

apetrynet commented 3 years ago

Support for these chunked files would be very useful for archiving/packaging timelines with the otioz adapter for instance.

I'll copy one of my initial ideas from slack discussion in here for future reference.

Each chunk or R3D file for instance would have it's own media ref and they all wrap together in a "container ref". That container ref can then tackle providing the correct file segment corresponding to time. Similar to ImageSequenceReference.target_url_for_image_number()