How do you record your jitter video in non-realtime?

mr.ear84's icon

Hello Everyone,

still new to Jitter and I'm trying to understand how to record my jitter video onto disk using jit.qt.record. I would like to be able to record(render) the video using a non-realtime method. I have been trying to integrate example 3 on Jitter tutorial 16 which allows me to play a jitter video and record the video in non-realtime. but how do i get this to work for a jitter project that is not using jit.qt.movie?

I was thinking perhaps I need to create some kind of video buffer to hold the video and then use a dumpout message so that the video can be rendered correctly? but i am lost!

I have created a dummy patch to show you what my exact intent is. I also included the example from Tutorial 16

any help would be greatly appreciated :O/

MR.EAR84,
Sincerely

seejayjames's icon

I think you have to use jit.qt.movie, which is the "buffer" you're talking about. jit.qt.record doesn't hold the movie, it's just for grab-to-disk I think. Once you've recorded it in realtime, you can open it with jit.qt.movie and re-export in a bunch of formats and quality levels, see "export" in the help file. Also you can use the full QT Dialog when saving, which gives more options.

jit.qt.record can also work in non-realtime mode, where it records only as it gets new frames, rather than keeping its own internal fps clock. though I think the message is "realtime 1" which seems backwards? I'm also a little confused by this...

jit.matrixset may also be helpful, I'm not sure of the frame number limit, plus it saves as .jxs, not a movie format. But it can be sent to jit.qt.record too.

Rob Ramirez's icon

qt.record is non-realtime by default.

so you just send it frames as fast as you can, and it will treat each of those frames as a new frame in it's recording, at whatever fps you set it to, regardless of the framerate that it receives the frames. if this is confusing, play around with it and it will make sense.

to record opengl stuff (i assume that's what you're asking, if not please be more specific), you can make use of jit.gl.asyncread. if you're still on max 4, you have to instead render to a matrix before recording.

the example examples/jitter-examples/render/jit.gl.render-tomatrix.maxpat shows how to do this.

Max Patch
Copy patch and select New From Clipboard in Max.

mr.ear84's icon

hello asgain,

No it is not open GL stuff. It is just basic

If jit.qt.record is non-realtime by default then how do i set the frame rate correctly?

I have used write.30 write .15 but the resulting video seems to be playing at a very fast speed.

I am using jit.poke to create a visual waveforms of the audio that is being played. this is why i am not using jit.qt.movie

seejayjames's icon

mr.ear84 wrote on Mon, 22 June 2009 10:18
If jit.qt.record is non-realtime by default then how do i set the frame rate correctly?

I have used write.30 write .15 but the resulting video seems to be playing at a very fast speed.

write 30. or write 15. not write .30
if you set write .30 it would write at 0.3 frames per second, the result would play back very fast... or rather, it would *seem* to play back fast because it would have skipped lots of the incoming frames. at least that's my understanding.

visualaudioreplicant's icon

the jit.vcr object came in very handy for me.