How to play a movie while it is still recording...

Tj Shredder's icon

I just wonder how to get this. I tried to record a movie with the jit.qt.record help file, and then while it was still recording I tried to play it back with the jit.qt.movie help file.
It didn't work, only when I stopped the recording, it would be able to play back...
Background, I want to create very long delays (one hour for example). Is there maybe a special codec or format I could use to achieve this?

Thanks for any suggestions...

Stefan

ctrlzjones's icon
Max Patch
Copy patch and select New From Clipboard in Max.

no movie involved. you record into a 'buffer' [jit.matrixset] and play back frame after frame from there ...
there should be no time limit, given the attic is big enough.

Tj Shredder's icon

Is this recording to disc? I bet there is not enough memory in my Air to keep it in memory. I am talking about maybe one hour of material...
try to put 360000 into the frame size, and this is just 20 minutes...

I guess the attic of jit.matrixset isn't big enough for this task...

Tj Shredder's icon

I guess what it needs is a format which allows random access, therefore it should have a fixed size for each frame. Each image might be compressed, but with the speed of ssd nowadays, I guess it should be possible to save it as raw uncompressed images...
I would happily create a container on disk of the required size on disc in advance. The Jitter objects should be able to write into it and read from it... I don't know if the existing formats allow this...
1 hour 720p HDTV would need 370 GB of storage space @ 2 * 105 MB/sec (for writing and reading at the same time...)
But I'd be happy to begin with 625 PAL @ 2 * 20 MB per/sec, or 70 GB per/hr.
(http://en.wikipedia.org/wiki/Uncompressed_video)

Stefan

Tobias Rosenberger's icon

i remembered a thread with a similiar question some months ago:
https://cycling74.com/forums/1-hour-long-tapin-very-long-delay-lines-needed/
while this is about audio, you maybe could use a similar strategy for video:
recording multiple n-minutes files to ssd and give them a clear time name counting up...

EDIT:
Ah this one is better:
https://cycling74.com/forums/capture-video-to-a-buffer-then-shuttle-around-in-it/
not store as quicktime movie, but as image sequence....

Rob Ramirez's icon

there is also the @frame attribute of jit.qt.record.

ctrlzjones's icon

umpf. I wasn't aware that it records to RAM; thought it was disk.
the second thread TOBIASROS proposes (mr. Bensons suggestion) seems the way to go ...
the problem with qt-compression is that it needs to close/save the .mov to make it accessible.

Tj Shredder's icon

The method of Andrew Benson, to throw .jxf files into a folder works fine. I get with the ssd of my Macbook Air the full frame rate back!
I wonder how long it would take to wear out the ssd...;-)
I tried the same with jpeg compression, and I also get a decent frame rate (15fps). Of course surfing the web at the same time will bring it to an halt...;-)
But for 500 frames this is 700 MB vs. 20 MB roughly...
Activity monitor does not show a significant difference (50% with just Andrews patch running).
It seams writing and reading lots of data is as expensive as compress/decompress...

Thanks for all the suggestions...

Stefan

karl krach's icon

i gathered quite some experience with this (i started the thread mentioned above) and one tip if you work with a fixed buffer size:
as soon as you start overwriting old frames, your framerate will probably drop to about half - i think it's a bug. the solution is to run a deletion pass first (like one or two frames ahead), then just write a new .jxf-file.
do NOT overwrite files with the write-command of jit.matrix directly.
it took me months to figure this out...
k