Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Multiple Media Reference on clip #630

Closed
reinecke opened this issue Dec 13, 2019 · 2 comments · Fixed by #1241
Closed

Support Multiple Media Reference on clip #630

reinecke opened this issue Dec 13, 2019 · 2 comments · Fixed by #1241

Comments

@reinecke
Copy link
Collaborator

In OTIO, MediaReference represents a specific asset that can be fetched and operated on. Among others these include movie files on disk, streaming proxies, and image sequences.
OTIO Clip represents an instance of usage of that media in the timeline's composition.

There are many contexts where it is useful to express there are multiple assets available providing media for a given clip, in general this would be to express that a clip has multiple "representations" available. Applications could then select from a Clip's set of MediaReferences based on that application's context.
Some use cases include:

  • Provide information allowing review tool users to switch between a reduced quality streaming proxy and full quality EXRs.
  • Media being delivered to editorial has metadata described in a SerializableCollection of Clip instances where each clip contains references to both the editorial proxies and original camera files. This allows that metadata to later be used to locate media for final conform.

Considerations:

  • Do authors of files want to express that a given media reference is the "Preferred" media reference?
  • Should there be tooling to aid applications on selecting the "best" media reference for their use case?
  • Would it be possible to implement this in a non-breaking way? (could you still assign a single media reference to a clip? Which media reference do you get when accessing the media_reference property?)
  • Rather than making a clip have multiple media references, would it be more natural to create a new MediaReference type called something like MultiReference that then refers to all the separate references?
@eidmi
Copy link

eidmi commented Dec 18, 2019

Currently at Autodesk, the main usage of an OTIO clip referring to multiple representations is to allow our review tool to switch between reduced quality streaming proxy, movie proxy and full quality EXRs, either manually (user action) or automatically based on the availability of the media.

On top of the available representations, we need to keep in the OTIO clip which representations is currently used.

Storing the different representation as MediaReferences (or ImageSequenceReference) seems the right path to us.

@mccartnm
Copy link

mccartnm commented May 14, 2020

MultiReference could also be useful for stereo workflows:

ISRef = ImageSequenceReference
stereo_media = MultiReference(
    references=[
        ISRef('.../left/abc1234.%04d.exr', metadata={'eye': 'left'}),
        ISRef('.../right/abc1234.%04d.exr', metadata={'eye': 'right'})
    ],
    metadata={'stereo': True}
)

stereo_clip = Clip('abc123', metadata={...stereo meta...,})
stereo_clip.media_reference = stereo_media

This get's even more fun with N depth MultiReferences (e.g. stereo EXRs, stereo proxies, etc.)

Advanced usage could eventually get to effects that mux/augment shaders requiring multiple sources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants