Replies: 11 comments 17 replies
-
We briefly met representatives of OpenFX today (hi!) and the pointed us to this set of open source OpenFX plugins which cover a wide range of standard effects: https://github.com/tuttleofx/TuttleOFX This might help in our investigation & understanding of the OpenFX ecosystem, but also might be useful for offline rendering of an OTIO with effects into a video file. I wonder, @darbyjohnston have you looked at OpenFX? |
Beta Was this translation helpful? Give feedback.
-
I believe @fabiencastan is/was involved in TuttleOFX. He is also on the ASWF slack so still in the industry I guess :) |
Beta Was this translation helpful? Give feedback.
-
FYI, I attended the OpenFX TSC Meeting today (2022-09-08) and we discussed a few ways that OTIO and OpenFX could collaborate.
Clearly 1 and 2 overlap with OTIO's goals, and could lead to new OTIO schema for animated video effects parameters. 3 is an interesting potential use case for OTIO. Perhaps a nice next step would be for someone to demo how OpenFX works to an OTIO audience, and to demo how OTIO's existing effects schema works to an OpenFX audience. |
Beta Was this translation helpful? Give feedback.
-
Also, for reference, here is the AAF Effects Protocol document, which describes how some effects are represented in AAF: https://www.amwa.tv/_files/ugd/f66d69_898ba231b4224b0280bb7ce9ce607a89.pdf |
Beta Was this translation helpful? Give feedback.
-
Serialising an OFX plugin's state in a host-independent manner should be pretty straightforward, it consists of
|
Beta Was this translation helpful? Give feedback.
-
I have thoughts on this. I've helped implement OpenFX in two hosts and associated first-party effects and I'm active in the OpenFX community. I'm passingly familiar with OpenTimelineIO. OpenFX defines the host <-> plugin API. It does not specify any storage or persistence. However, some years ago I proposed an XML format for describing a plugin chain including the parameter values (static or over time). It was based on something we had done in one of our hosts for effect "presets" which could be applied in a project. It never moved forward within OpenFX, but I think an OpenFX / OpenTimelineIO collaboration would benefit both groups, and would define not only a way to include effects in an OpenTimelineIO project, but by using a subset / subtree of OpenTimelineIO it would enable a way to describe plugin chains that could be moved between host applications (even if they don't fully support OTIO, although nicer if they did). I fully support such a project and am happy to contribute ideas and feedback. However, since I don't have a horse in the race right now I can't contribute specification or code. In addition to timeline or project interchange between similar hosts, I think the real workflow value is bridging between dissimilar applications. A specific use case that comes to mind is communicating effect chains from on-set pre-visualization applications to post-production applications (like editing and compositing). So in addition to comparatively simple adjustments like ASC-CDL, higher-end effects could be confidently added to the pipeline such as lens diffusion simulation or beyond-CDL color adjustments (such as those popular in HDR workflows). Note that AMPAS ACES has some efforts in this area in S-2019-001 ACES Metadata File (AMF), which is worth looking at as well. |
Beta Was this translation helpful? Give feedback.
-
Hello @Dithermaster! That sounds interesting. Perhaps it might be a topic to bring up during an OpenTimelineIO TSC meeting ~ everyone is welcome to attend and propose topics. |
Beta Was this translation helpful? Give feedback.
-
@Dithermaster thanks for the pointer to AMF. I had not seen that before. We can look at AMF as reference for general effect support, and also maybe as a direct integration similar to recent discussions about Framing Decision Lists (FDL) which have similar workflow considerations. Skimming the AMF spec, it looks like it is a superset of Color Decision Lists (CDL), and includes ASC_SOP Slope, Offset, and Power values, which we already have limited support for in OTIO. So this is a good point of reference. @barretpj I would love to see an more detailed example of how an OpenFX plugin's state could be serialized. If we had a proof of concept, or mockup showing how a set of non-animated OpenFX parameters could be carried in an OTIO that would help to clarify many open questions. Tackling animated parameters could be folded in later. |
Beta Was this translation helpful? Give feedback.
-
At today's OpenFX meeting we looked briefly at the OTIO effects metadata that DaVinci Resolve outputs. It uses an application-specific metadata block to store effects parameters, keyframes, etc. This is great to see and could be a starting point for a generalized official schema for effects. |
Beta Was this translation helpful? Give feedback.
-
@jminor |
Beta Was this translation helpful? Give feedback.
-
@Dithermaster FYI @jhodges10 is working on a big list/matrix of which effects we plan to support and how those map to various NLEs. I'll let him respond with details. |
Beta Was this translation helpful? Give feedback.
-
Currently OTIO has very limited support for effects. What other formats, specifications, schemas, and systems for interchange of audio & video effects exist out there?
OpenFX has come up a few times in conversation: http://openeffects.org/
Are there others we should research?
How do FCPXML, EDL and AAF handle audio/video effects?
Beta Was this translation helpful? Give feedback.
All reactions