Re: OpenTimelineIO meeting agenda 2019-12-12

Joshua Minor

Here are my notes from yesterday's meeting:

Joshua Minor (Pixar)
Stephan Steinbach (Pixar)
Nick Porcino (Pixar)
Gates Roberg-Clark (Pixar)
Eric Reinecke (Netflix)
Josh Burnell (Dreamworks)
Daniel Flehner Heen (Storm Studios)
Michel Eid (Autodesk)
Eric Desruisseaux (Autodesk)


- We have had several video conferences with a working group of people working on AAF support in OTIO, including Roger Sacilotto from Avid, and Mark Reid, author of pyaaf2.
- Initial focus has been on Andrew Moore's PR relating to clip timecode improvements:
- With help from Roger, Eric, Mark, and others, Andrew has been making steady progress on the PR and we expect it to land soon.
- One remaining issue related to Pulldown time transformation.
- Next steps will be resolving this PR on pyaaf2:
- And then we hope to tackle full non-linear timewarp support.

Bundled OTIO + Media
- Josh Burnell is working on a proposal and/or proof of concept of converting between OTIOZ and an AAF with embedded media.

Upcoming OTIO Release
- We are not yet confident that the developer instructions for installing or developing with OTIO in the new hybrid C++/Python architecture are as smooth as we would like.
- We intend to do a walk through of Windows, Mac, and Linux setup to verify that the instructions are clear before finalizing the release.
- We are seeking volunteers to help with this testing on all three platforms, and any versions of those platforms you have access to.
- Depending on the timing of the AAF, RV, or other pending PRs, those may or may not land in this next release.

Custom SchemaDefs
- We discussed findings from groups using custom SchemaDefs with the aim of providing guidance to others in how they are best used.
- Pixar is using a custom SchemaDef within Pixar-specific metadata. This works reasonably well, but we are looking for ways to make our system less strict. There has been friction between groups using our single "pixar" metadata object on each Clip. Part of this is due to the strictness that a SchemaDef enforces, but mostly because we are sharing one object for use with multiple workflows and teams with different schedules. We aim to split the "pixar" metadata into more application or workflow-specific peers (e.g. "pixar-review", "pixar-editorial", etc.) and continue using SchemaDefs.
- Autodesk is using custom schemas for subclasses of Effects. This is working well for them, but they have not yet dealt with interoperation outside their ecosystem.
- Netflix is considering subclassing Clips with a custom SchemaDef for some workflows. The general sense of the group is that it would be good to use Netflix metadata on a normal Clip when serializing to disk, so that programs without the right SchemaDef plugin can still recognize them as clips. A post-read hook could convert that into something else in memory, and a pre-write hook could convert it back.
- If that strategy does not work well, we could consider adding something to the core OTIO to allow custom types to specify a fallback schema to use in case the real one is not found at runtime. This would require additional information saved into each OTIO file, or perhaps each object. We can use AAF's type registry system as a point of reference on one possible way to handle this.
- One of the driving forces behind wanting to use custom SchemaDefs is to provide extra validation. We briefly discussed using JSON Schema, or extending otiostat to provide more validation. In general SchemaDefs do allow for code to be run at read/write to do validation, and could provide custom validation methods as well.

RV Writer
- Josh Burnell's PR which adds an example RV writer plugin (a plugin to RV, not an adapter) is nearly ready to land.

- We plan to land it into the `imagesequence` branch:
- Landing this into a branch will allow us to add support to one or more adapters (e.g. RV, Hiero, etc.) to validate that the new ImageSequenceReference is working well before landing into the master branch.
- This PR does not cover topics of channels, AOVs, layers, etc. only sequences of images. Those other topics can be addressed separately (contributions are welcome)

RationalTime v2
- Based on discussion with the group, we have decided to take a step back from the proposal to convert RationalTime to int/int versus double.
- Stephan and Nick are working on a document, or white paper, which describes the concepts and math of time, intervals, time hierarchies and transformations in a clear and well defined way.
- This work can be the foundations of future work on OTIO, specifically RationalTime, time transformations like range_in_parent(), timewarps, and the way transitions are modeled.

Multiple Media References per Clip
- Potential use cases for multiple media references on a single clip are varied, but the concept of "proxy" media, or various transcoded flavors of a clip are very common.
- If a Clip could hold multiple media references, one for each proxy flavor, and then allow for switching between them easily, this would be very helpful.
- Autodesk has experimented with this by stashing more URLs, or media references in custom metadata.
- Some use cases include putting multiple versions, or takes, of a shot into media references. This is problematic, since there is often metadata that is specific to a take which is naturally stored on the clip, not the media reference. Also the duration of each take may vary. For that use case, a new type of Composition could work better.
- Multicam clips have similar complications, and might work better as a form of Composition.
- We are open to proposals for this feature.

The next OTIO TSC meeting falls during holidays/vacations for most of us, so we plan to skip the 12/26 meeting, and reconvene on 1/6.

Joshua Minor (he-him)
Pixar Studio Tools Story/Editorial/VR Previs Tech Lead

On Dec 13, 2019, at 12:44 PM, ereinecke via Lists.Aswf.Io <> wrote:

As discussed in the TSC meeting, I've created a github issue to continue discussion on allowing `Clip` to have multiple media references:

- Eric Reinecke
OpenTimelineIO Technical Steering Committee Member

Join to automatically receive all group messages.