jit.record to .mov preserving the colors of the input, which is a sRGB color profile ?

soundyi's icon

Hi there,

I have a jitter.gl.texture based patcher that works with PNG images that are in color space "sRGB IEC61966-2.1" and do a bunch of processing on them that looks fine in jit.pwindow as well as in the jit.world window - the colors are preserved.

But when I record the output of jit.world (output_matrix 1) to jit.record by using "codec prores4444" to a .mov file the colors are off.

As I see in the file info of the .mov, its color space is "HD (1-1-1)", so I guess there is a automatic transformation happening that does not work as (I ;-) expected.

What's strange : when I use "codec prores422", the .mov also has color profile "HD (1-1-1)", but the colors are as expected and as they are inside Max.

Is this caused by Max or by the codec installed on the machine and hence an Apple thing, as I am on MacOS and using Max 8?

The Problem with using ProRes 422 is, that it's meant to be used only for videos up to Full HD - going beyond that, Max seems automatically switch to ProRes 4444 and again I get the colors off.

Is there a way to convert "sRGB IEC61966-2.1" to "HD (1-1-1)" before the matrix is received by jit.record or another way of achieving up to 4K recordings with the colors preserved?

TFL's icon

Maybe it's worth trying Syphon to send your world output to OBS, which gives you more control over used codec and compression settings.

Syphon is a tool allowing to share GPU textures across apps on the same computer. You can find the Syphon package for Max in the Package Manager, and you can select "Syphon client" as a source in OBS.

soundyi's icon

Thanks @TFL for that tip - thought of this as final workaround as well ;-).

But for my entire "several tools" workflow I need something simple & compact on the Max side of things and hence I hope that I can do a high quality & resolution recording of the jit.world output, or with some adaptions, of the last jit.gl.texture in the pipeline.

As everything is fine with the ProRes 422, I currently can't imagine, why it should not work with ProRes 4444 - just switching the codec and the visual result in the recorded .mov differs significantly in color quality, does not make sense to me.

Hence I contacted the support and if the conversation results in an explanation for this behavior or another way of recording "jit.gl.texture mangling based on sRGB input" (;-) I will report it here.