Get reviewables overall

Hello,

I have been crawling everything I could but I can’t figure out how reviewables work.
I am trying to basically:

  1. get a .mov 4444 and a .mp4 upload to kitsu from a Nuke render
  2. get a .mp4 from an exr sequence from blender and houdini

the only thing I managed to get working is getting a mov from nuke using the review intermediate from ayon_settings:nuke, when submitting to deadline.

I tried a bunch of things in
ayon_settings:publish:extract_reviews
ayon_settings:publish:extract_OIIO_transcode

but it won’t produce any video files. So either it is set correctly, but it is not being triggered somehow (like missing the “render” or “review” tag), or it isn’t set correctly.
I don’t need anything fancy, I just want to have a mov file in raw color space to send to clients and an mp4 in srgb for Kitsu.

Is there any page I missed that explains how to set it up? Or is there a good soul that could take a minute to tell me what I am doing wrong?

I’d be very much appreciated, it’s driving me nuts :slight_smile:



Review workflow

Abstractly, it consists of 4 steps. Users are able to enable, disable and customize any of them.

  1. Generate the image sequence from a DCC.
  2. ExtractOIIOTranscode : Converts the sequence’s colorspace using OIIO.
  3. ExtractReview : get/compute the sequence info using OIIO and then convert it to a video using ffmpeg.
  4. ExtractBurnin : Add text using ffmpeg.

Tags are used for enabling additional actions.

Trigger Review Process on Publishing

There are two ways:

  1. To select review product in the creator/publisher tool.
  2. Enable review toggle on render products in the creator/publisher tool. (which marks your render product as reviewable)

How to know if your render product has a reivewable mp4

Open Loader/Browser tool and select your render, and on the bottom right side check the avaialble representation, and look for the reviewable item. (it depends on your ExtractReview settings),but by default you should see h264_something.

Why my review is not pushed to my production tracker

It boils down to 3 things:

  1. has the review product the tag related to your production tracker.
  2. has the review product the family related to your production tracker.
  3. is the plugin responsible for pushing review to the production enabled.

Why my review is not pushed to kitsu

  1. Check if your review has kitsu tag kitsureview in Extract Review settings ayon+settings://core/publish/ExtractReview
  2. Check if kitsu family is added to your products. you can specify that via collect kitsu family setting ayon+settings://kitsu/publish/CollectKitsuFamily.
  3. I think the plugin responsible for pushing the review to kitsu Integrate Kitsu Review is enabled by default.

For information, you have misspelled the tag kitusreview.

You should use kitsureview instead.

Credits: @BigRoy

It doesn’t work when rendering the review on farm (deadline). The review tag is lost and the preview is not created in the end

Deadline omit review tag for review publish type in houdini - General - Ynput community

comparing the metadata.json to my AYON settings I don’t see mismatchings either :
“productType”: “render”,
“AYON_HOST_NAME”: “houdini”,



so I had this test scene on blender. I am realizing that there is no “review” toggle when publishing from Blender, but the tag is still present in the metadata.json file.
Still, the extract review plugin is being skipped when publishing.
renderlayerMain_metadata.json (8.9 KB)

same thing happens in Houdini - though the review toggle is on.


and tag is available in the metadata.json file of the houdini test render scene
usdrenderMain_metadata.json (9.2 KB)

so it would narrow it down to why is it being skipped at all.

correcting:
reviews and kitsureviews work when rendering locally - it is indeed not working when using deadline.
Since I use deadline all the time, it explains why it never worked before :smiley:

I gave a test, commented here, creating reviews from render is working on farm on my side.

and locally too.

could that come from disparities in the deadline add-on settings?
Like from Collect Jobinfo Profiles?

Thanks for the extensive answer. You guys really rock! It is now working - not entirely sure why and I haven’t entirely mastered the topic, but it is lol

2 questions though:

  1. is there a page where we can see the FFMPEG flags that can be used? for instance apply_trc gamma22, etc. Can we get sRGB right off the bat, or does it have to go through OIIO transcode?

  2. I had an example of a render that was done on Deadline. My publish task was failing, because I had 5 png frames that were missing (not sure why those didn’t get converted). I couldn’t find a way to resubmit the creation of the 5 missing frames, so that the publish would go through - is there any page related to this?

Thanks in advance!

In Extract Review setting, we have ffmpeg args.

on the other hand, extract OIIO transcode, it’s mainly used for color converstion but it has OIIO args for generic usages.

all right, bear with me - I appreciate your patience :D!

as a matter of test, I have this scene with 2 frames, that I am rendering in .exr ACES from houdini solaris with Redshift and I need an mp4 sRGB in kitsu. Let’s take it step by step. For now, I did not turn on the OIIO and I am getting this error:

2025-05-15 20:39:54:  0: STDOUT: [image2 @ 00000211e2839a00] Could not find codec parameters for stream 0 (Video: exr, none): unspecified size
2025-05-15 20:39:54:  0: STDOUT: Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
2025-05-15 20:39:54:  0: STDOUT: Input #0, image2, from 'C:\Users\Maki-\AppData\Local\Temp\ay_tmp_94496k3f\wella_prop_box_shading_v019.BOX_test.%d.exr':
2025-05-15 20:39:54:  0: STDOUT:   Duration: 00:00:00.07, start: 0.000000, bitrate: N/A
2025-05-15 20:39:54:  0: STDOUT:   Stream #0:0: Video: exr, none, 30 fps, 30 tbr, 30 tbn
2025-05-15 20:39:54:  0: STDOUT: [out#0/mp4 @ 00000211e288a340] Codec AVOption b:a (set bitrate (in bits/s)) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some decoder which was not actually used for any stream.
2025-05-15 20:39:54:  0: STDOUT: Stream mapping:
2025-05-15 20:39:54:  0: STDOUT:   Stream #0:0 -> #0:0 (exr (native) -> h264 (libx264))
2025-05-15 20:39:54:  0: STDOUT: Press [q] to stop, [?] for help
2025-05-15 20:39:54:  0: STDOUT: [exr @ 00000211e2884640] Channel doesn't match layer : A.
2025-05-15 20:39:54:  0: STDOUT: [exr @ 00000211e2884640] Channel doesn't match layer : B.
2025-05-15 20:39:54:  0: STDOUT: [exr @ 00000211e2884640] Channel doesn't match layer : G.
2025-05-15 20:39:54:  0: STDOUT: [exr @ 00000211e2884640] Channel doesn't match layer : R.
2025-05-15 20:39:54:  0: STDOUT: [exr @ 00000211e2884640] Missing red channel.
2025-05-15 20:39:54:  0: STDOUT: [exr @ 00000211e2884640] Missing green channel.
2025-05-15 20:39:54:  0: STDOUT: [exr @ 00000211e2884640] Missing blue channel.
2025-05-15 20:39:54:  0: STDOUT: [vist#0:0/exr @ 00000211e288b600] [dec:exr @ 00000211e28d2cc0] Decoding error: Invalid data found when processing input

“exr channel doesn’t match layer rgba” - I have my pixel info in the rgba layer of my exr. why is it choking at this step?

thanks!

This looks more like FFMPEG being unable to read the EXR file. It seems to be unable to decode the EXR data. Any chance you could share the EXR file?
Also, the logs should also contain the full ffmpeg command that got executed, could you share that as well?

C:\\Users\\Maki-\\AppData\\Local\\Ynput\\AYON\\addons_resources\\ayon_third_party\\ffmpeg_windows_3d2b8241\\bin\\ffmpeg.exe -apply_trc gamma22 -layer rgba -start_number 1001 -framerate 30.0 -to 0.0666666667 -i C:\\Users\\Maki-\\AppData\\Local\\Temp\\ay_tmp_4oho_hmn\\wella_prop_box_shading_v023.BOX_test.%d.exr -pix_fmt yuv420p -crf 18 -c:a aac -b:a 192k -g 1 -movflags faststart -y P://WELLA/assets/prop/box/work/shading/render\\wella_prop_box_shading_v023.BOX_test_h264.mp4',)"Error:

that would be the ffmpeg command.

and that would be the exr:
https://drive.google.com/drive/folders/1ZsLUfU9WFmbCMk-NS9onL8NkBLecUo2j?usp=sharing

and that is my review section in AYON settings

Thanks!

Using the same third party ffmpeg build I can run this command just fine.
For me it does find codec parameters and can match the channel layers.

I ran:

set FFMPEG=C:\Users\User\AppData\Local\Ynput\AYON\addons_resources\ayon_third_party\ffmpeg_windows_3d2b8241\bin\ffmpeg.exe
set ROOT=C:\Users\User\Downloads
%FFMPEG% -apply_trc gamma22 -layer rgba -start_number 1001 -framerate 30.0 -to 0.0666666667 -i %ROOT%\wella_prop_box_shading_v023.BOX_test.%d.exr -pix_fmt yuv420p -crf 18 -c:a aac -b:a 192k -g 1 -movflags faststart -y %ROOT%\wella_prop_box_shading_v023.BOX_test_h264.mp4

Output:

ffmpeg version 7.1-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.100 / 61. 19.100
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
[exr @ 000001ca6518a940] Channel match layer : rgba.A.
[exr @ 000001ca6518a940] Channel match layer : rgba.B.
[exr @ 000001ca6518a940] Channel match layer : rgba.G.
[exr @ 000001ca6518a940] Channel match layer : rgba.R.
Input #0, image2, from 'C:\Users\User\Downloads\wella_prop_box_shading_v023.BOX_test.%d.exr':
  Duration: 00:00:00.03, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: exr, gbrapf32le(unknown/unknown/bt470m), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 30 tbn
[out#0/mp4 @ 000001ca6521c980] Codec AVOption b:a (set bitrate (in bits/s)) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some decoder which was not actually used for any stream.
Stream mapping:
  Stream #0:0 -> #0:0 (exr (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[exr @ 000001ca651d4e00] Channel match layer : rgba.A.
[exr @ 000001ca651d4e00] Channel match layer : rgba.B.
[exr @ 000001ca651d4e00] Channel match layer : rgba.G.
[exr @ 000001ca651d4e00] Channel match layer : rgba.R.
[libx264 @ 000001ca6518b340] using SAR=1/1
[libx264 @ 000001ca6518b340] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 000001ca6518b340] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 000001ca6518b340] 264 - core 164 r3192 c24e06c - H.264/MPEG-4 AVC codec - Copyleft 2003-2024 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=34 lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=1 keyint_min=1 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'C:\Users\User\Downloads\wella_prop_box_shading_v023.BOX_test_h264.mp4':
  Metadata:
    encoder         : Lavf61.7.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, unknown/unknown/bt470m, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn
      Metadata:
        encoder         : Lavc61.19.100 libx264
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[mp4 @ 000001ca6521ca80] Starting second pass: moving the moov atom to the beginning of the file
[out#0/mp4 @ 000001ca6521c980] video:251KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.326908%
frame=    1 fps=0.0 q=15.0 Lsize=     252KiB time=00:00:00.03 bitrate=61944.6kbits/s speed=0.267x
[libx264 @ 000001ca6518b340] frame I:1     Avg QP: 7.93  size:256649
[libx264 @ 000001ca6518b340] mb I  I16..4:  8.3% 88.2%  3.5%
[libx264 @ 000001ca6518b340] 8x8 transform intra:88.2%
[libx264 @ 000001ca6518b340] coded y,uvDC,uvAC intra: 98.4% 24.5% 23.5%
[libx264 @ 000001ca6518b340] i16 v,h,dc,p:  5%  1% 73% 21%
[libx264 @ 000001ca6518b340] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  6%  7% 71%  3%  2%  2%  2%  2%  4%
[libx264 @ 000001ca6518b340] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26%  9% 36%  5%  7%  3%  6%  3%  5%
[libx264 @ 000001ca6518b340] i8c dc,h,v,p: 86%  9%  4%  1%
[libx264 @ 000001ca6518b340] kb/s:61595.76

So either your ffmpeg build is broken - or for whatever reason it can’t correctly load the exr on your machine (permissions?). No idea what’s causing it, but the file and command line call seem fine.

hm - not sure if that’s good news or not lol.

but look how these lines are different between your output and mine.

2025-05-15 20:39:54: 0: STDOUT: [exr @ 00000211e2884640] Channel doesn’t match layer : A.
2025-05-15 20:39:54: 0: STDOUT: [exr @ 00000211e2884640] Channel doesn’t match layer : B.
2025-05-15 20:39:54: 0: STDOUT: [exr @ 00000211e2884640] Channel doesn’t match layer : G.
2025-05-15 20:39:54: 0: STDOUT: [exr @ 00000211e2884640] Channel doesn’t match layer : R.
2025-05-15 20:39:54: 0: STDOUT: [exr @ 00000211e2884640] Missing red channel.

Your channel is rgba.A and mine is A - that’s already a difference.
Also, the error is happening on 8 different machines, that all can render without issues - and the review was working before, not sure what I touched to break it though… Otherwise I wouldn’t be crying for help again anyway :-).

How can I put the core settings back to default ? I don’t see any option.

oddly enough - it works when running it in command line as well, but doesn’t when being processed in Deadline(and AYON) - so it has to be Deadline related, correct? Some override from the deadline add-on maybe?

Only thing that I found is that it is trying to extract from a copy in a temp folder, but the temp folder is empty - so it seems that the copy of the .exr file is not happening, hence why it can’t find the channels. But shouldn’t it say that the file is missing instead?

I see the folder creation happening, but the folder remains empty at C:\Users\admin\AppData\Local\Temp\ay_tmp_pcyh3pzp for instance.

does that make sense?

When right-clicking a setting, you can select remove studio override. which is the same as set back to default.

1 Like

That just sounds like you didn’t copy the right FFMPEG command that actually errorred. Or it’s a different image file that got processed? If it’s running the exact same ffmpeg, with the same command and the same image - I don’t see how Deadline would affect it.