offline rendering/recording with jit.world
Hi there!
I'm working on a patch which has become too heavy for my laptop to render. Is it possible to render and record the video offline?
Basically, the same thing you do freezing midi tracks on Ableton Live or other DAW.
Thanks
I've tried recording with jit.record, with @output_matrix active on jit.world, but there are a lot of missing frames, due to the heavy processing...
Hi Jon,
look in the forum, i guess this is a commonly asked question.
I usually tend to do all my offline rendering by sending frame by frame the output matrix or the output texture to a jit.matrix object and send it a message formatted as follows:
( exportimage insert/here/the/path/frameX.jpg jpeg )
where "X" is the number of the current frame.
This creates an image sequence i later mount in adobe premiere (or any video editor).
to create a message formatted like this you need a [counter] and a [combine] object.
This is not the most elegant way to export videos offline, but is damn solid. This method gives also the benefit to start the rendering at whichever frame you want or to refine isolated groups of frames without having to export the whole thing again.
If i need to export something audioreactive offline, before the video rendering i'd fill a [coll] object with snapshots of the audio signals you're using to control the video. You can take them by using [metro] (not [qmetro]), [counter] , [snapshot~] and [coll].
Once you've "printed" the audio signals in [coll] at the right frame rate, you can proceed by exporting the video, recalling the right values from [coll] and saving the video frame by frame as explained before.
Also make sure to have everything "bang dependent"; this means to avoid using objects with an internal independent clock (like [line] for example), otherwise they will mess up the rendering . If you can't avoid them, treat them as audio signals, and print the messages they output at the correct frame rate in [coll] (using for example [float], [int] or [zl.reg] objects to temporarily store the values they produce and to output them only when a bang message arrives).
I've no time now to make an example patch, but i'll post one in the next future if needed.
Ciao!
in addition to the excellent advice above, you can find a basic example patch and brief discussion of technique in the Jitter recording best practices article, the final section titled Non-real time recording.
thanks