how to generate color managed review from ACEScg render

Hello
Does someone know how to setup OP 3.15.11 to generate sRGB or rec709 review media from ACEScg exr render from maya ?
I read the admin doc, but there is missing information i guess
I understand very well how to manually setup ocio in maya / nuke etc but i’m completely lost in how we can tell openpye :

-listen my render are in ACEScg
-i need you to transcode them through the ODT sRGB when you generate the .mov or .mp4 for review

same for Nuke but i guess the idea is the same

Instead of directly using the name of the color space in the config, can we use the ‘roles’ in the config.ocio (for scene_linear instead of ACEScg) ?
That would be to add a little bit of abstraction and to be less dependant of specific colorSpace name

And what about the thumbnails, how do we make sur they are also well color managed ?

Thanks !

2 Likes

Hey @Olivier :slight_smile:

Have you been through the documentation for the extract_oiio_transcode plugin?

1 Like

Even with that documentation it’s unclear to me how to proceed.

What I’m looking to do is:

  • Convert colorspace of the source files
  • Create a reviewable in sRGB with burnin
  • Generate a thumbnail in sRGB without burnin

So I assume I transcode once, and then use that to produce a review with burnin and a thumbnail?
Would be great if that example workflow could be walked through here as an example. It’s similar to what @Olivier is asking I believe.

Does it require global color management to be enabled?

It’s a bit unclear - but is it the case that the Extract OIIO transcode only works if the new? Global Color Management is enabled in settings?

Or how does it decide what the input colorspace is that it’s converting from. Does that still work with that checkbox disabled?

Do I need to tweak ExtractReview as well?

By doing this - does it also mean I need to disable the ExtractReview default input arguments -apply_trc gamma22 or is the Extract OIIO Transcode a separate representation also used as reviewable?

Thumbnails

And how does this work for the thumbnail to be generated? There are separate Extract Thumbnail settings but it’s a bit unclear how to use the OIIO color transcoded one for the thumbnail instead?

image

Use OCOI config roles instead of colorspace in transcoding

And yes please - I’d love that too!

Looking at this in the documentation:

Does that mean that with Use Display & View enabled but no values set that it will use the ones collected from the host - is that why the screenshot shows no example “Display” and “View” name in there?

If it’s the case that it does default to the one from the host then maybe the documentation could explain that explicitly (and maybe the settings themselves also mention that in e.g. placeholder text or a tooltip).

Think @jakub.jezek and @Petr_Kalis should join the discussion here since they worked on the plugin; Global: color v3 global oiio transcoder plugin by kalisp · Pull Request #4291 · ynput/OpenPype · GitHub

We have been using GitHub - jedypod/generate-dailies: Daily is a tool to transcode scene-linear openexr images into display-referred quicktime movies. instead of ffmpeg directly since ffmpeg and ocio aren’t really friends (as far as I understand it). Is this at all achievable with vanilla-ffmpeg?

Yes this is not very clear and we should at least add some placeholders to those attributes. Those should say something like inherited or similarly. In fact the documentation here is mentioning it but it is also not very clear

Does someone know how to setup OP 3.15.11 to generate sRGB or rec709 review media from ACEScg exr render from maya ? (@Olivier )

@tokestuartjepsen is the best person to give us some overview on this, since he was the author of implementation. At the moment only host implementing Display&View collection is Maya and for your use case can be configured.

  1. Enable Global Colorspace management
  2. Activate Maya host colorspace management (is enabled by default)
  3. Since the first available global config path will be used in OCIO environment path for Maya, make sure it is the config you want to use. Or make host ocio config override by adding it at host level and activate override toggle
  4. Set correct display and view attributes under Maya colormanagement category
  5. Add preset with filters only activated at maya host and perhaps narrow the filter to particular task if you need so
  6. make all colorspace/display/view empty if you want them to be inherited by values collected from host - so if you configure them in step 4. then you can inherit them. But best is to set the Transcoding type enumerator to Use Display&View. So if you use our provided acess 1.2 config you can add Display = ACES and View = sRGB - in case you don’t want to override.
  7. Add tags, ideally create review this is for passing it to Exctract review as intermediate data for generating reviewable videos.
  8. Make sure you know if you want to enable Delete Original Representation. Perhaps it should be disabled, because the representation should be integrated and you are only generating intermediate files for reviewable videos.

Does it require global color management to be enabled? (@Olivier )

Yes the global color management needs to be activated. The reason is that you need to point at some config file which is then used by oiiotool for the conversion. Also, you will not be able to use for example, file rules for additional identification of colorspaces with file patters.

Do I need to tweak ExtractReview as well? (@Olivier )

Yes apply_trc gamma22 will need to be removed from input arguments, since this is there to convert linear gamma curved gamma more suitable for displays. Input data will come with curved gamma already from ExtractOIIOTranscode plugin.

Thank you Jakub,
The step by step help a lot to get what’s the logic and links behind extract OIIO transcode and Extract Review.
I will try all these steps.
One thing that would be so nice, would be to have a drop down menu in the OP config that parse the OCIO.config so that we can choose the colorspace/display etc we want like in maya/nuke/houdini.
So that we don’t make mistake and it’s faster than to open the ocio config look for the correct things to copy paste.
What about the thumbnails ? is there a way to also make them look correct?

Referencing this other discussion here as well Nuke - Farm Reviews with Distributed Extract Review Data Mov - #5 by fabiaserra as there’s some overlap

I like the config framework of this, we might need to steal some of that soon so it’s easier for our artists to set through the settings but behind the scenes we are doing pretty much the same using OP ExtractOIIOTranscode + Extract Review.

Also the fact that’s a CLI makes it way more flexible, as suggested by @BigRoy here Nuke - Farm Reviews with Distributed Extract Review Data Mov - #9 by BigRoy, it would be very useful if we did the same in OP

In the ExtractReview settings do i need to add a Create review tag again ?

I read what you wrote fabiaserra (Nuke - Farm Reviews with Distributed Extract Review Data Mov - #4 by tokestuartjepsen)
Thank you it’s also very helpfull. I guess we should add a Create Review tag in the Extract OIIO Transcode and ExtractReview.
The same name use for different step make hard to understand easily. But i get it now

I followed the steps showed here and also revert back to an Ocio v1 style.config from an Ocio v2 because the OIIO was not Reading v2 style config

We now have the review working in ftrack, the only thing missing now is the thumbnail that is straight linear

The thumbnail seams to be using OIIO without using any argument about color Space thus “raw” result

@Olivier could you show your settings?
I’ll try and replicate here and look into the thumbnail issue.

Here is the deadline log of what’s happening with the thumbnail :
Clearly there is just .exr → .jpg without colorspace information

EBUG:pyblish.ExtractThumbnail:Create temp directory /tmp/pyblish_tmp_v3gk3wqa for thumbnail
2023-07-03 17:57:15:  0: STDOUT: DEBUG - input /prod/project/TEST_OP2_PUB_23_7/5_FILM/Assets/cube/work/surface/renders/maya/cube_workfileSurface_v135/Main/cube_workfileSurface_v135_Main_ACEScg.0106.exr
2023-07-03 17:57:15:  0: STDOUT: DEBUG:pyblish.ExtractThumbnail:input /prod/project/TEST_OP2_PUB_23_7/5_FILM/Assets/cube/work/surface/renders/maya/cube_workfileSurface_v135/Main/cube_workfileSurface_v135_Main_ACEScg.0106.exr
2023-07-03 17:57:15:  0: STDOUT: DEBUG - Trying to convert with OIIO
2023-07-03 17:57:15:  0: STDOUT: DEBUG:pyblish.ExtractThumbnail:Trying to convert with OIIO
2023-07-03 17:57:15:  0: STDOUT: INFO - Extracting thumbnail /tmp/pyblish_tmp_v3gk3wqa/cube_workfileSurface_v135_Main_ACEScg.0106_thumb.jpg
2023-07-03 17:57:15:  0: STDOUT: INFO:pyblish.ExtractThumbnail:Extracting thumbnail /tmp/pyblish_tmp_v3gk3wqa/cube_workfileSurface_v135_Main_ACEScg.0106_thumb.jpg
2023-07-03 17:57:15:  0: STDOUT: DEBUG - running: /prod/softprod/apps/openpype/LINUX/3.15.0/vendor/bin/oiio/linux/bin/oiiotool -a /prod/project/TEST_OP2_PUB_23_7/5_FILM/Assets/cube/work/surface/renders/maya/cube_workfileSurface_v135/Main/cube_workfileSurface_v135_Main_ACEScg.0106.exr -o /tmp/pyblish_tmp_v3gk3wqa/cube_workfileSurface_v135_Main_ACEScg.0106_thumb.jpg
2023-07-03 17:57:15:  0: STDOUT: DEBUG:pyblish.ExtractThumbnail:running: /prod/softprod/apps/openpype/LINUX/3.15.0/vendor/bin/oiio/linux/bin/oiiotool -a /prod/project/TEST_OP2_PUB_23_7/5_FILM/Assets/cube/work/surface/renders/maya/cube_workfileSurface_v135/Main/cube_workfileSurface_v135_Main_ACEScg.0106.exr -o /tmp/pyblish_tmp_v3gk3wqa/cube_workfileSurface_v135_Main_ACEScg.0106_thumb.jpg
2023-07-03 17:57:17:  0: STDOUT: INFO - oiiotool WARNING: -o : Can't save 28 channels to jpeg... saving only R,G,B

1 Like

Hey @Olivier I see why you are doing this but the other day we had merged fixes for this and the default values should be matching colorspace names distributed with Global Aces1.2 config file.

Regarding Thumbnails. They are just not implemented yet with the new colorspace workflow so the transcoding OIIO plugin is not able to convert them.

Ok, strange the thumbnail process is already using OIIO to do the conversion.
Another things to note is that the OIIO that package with Openpype is not compatible Ocio v2 so new config that are more modern and very light are not available to us.
But houdini/nuke/hiero/maya are already compatible with OCIO v2

1 Like

Here’s an attempt at correcting the thumbnail;

1 Like

What is your settings for project_settings/global/publish/ExtractOIIOTranscode/profiles/0/outputs/review/tags ?
Just had an issue due to duplicated files to integrate. Needed to have Create review and Delete output tags.

This is my settings :

But we fixed the same issue by using {representation} in project_anatomy/templates/render/file.
(I think it’s the same issue)

Something like :
{asset}_{task[short]}_{subset}_{representation}_{@version}<_{output}><.{@frame}>.{ext}