Lots of small QTs at once

Mar 9, 2006 at 9:01pm

Lots of small QTs at once

Trying to slog together a patch that plays around 800 little videos simultaneously. (as well as doing some low-level tracking) Imagine jit.eclipse but with each cell there are different videos on a high res screen.

the videos are about 64×80 and of course photo-jpeg.

using jit.qt.movie + loadram my computer kacks out after about 12 and using jit.matrixset i can get about 24. This is on a G5 2.0 dual.

Has anybody else experimented with something like this and had decent results? I’ll need individual frame control of each video, so playing a big composite back wont work.

-matthew

#24806
Mar 9, 2006 at 9:12pm

have you tried the poly~ for movies example?
jitter-example/video/quicktime/PolyMovie
make 800 voices. see wha’appens.

P

#72295
Mar 9, 2006 at 9:15pm

How many MBs are the videos?

wes

#72296
Mar 9, 2006 at 9:26pm

Looks like you have 64*80*800*4=16,384,00 bytes of data per frame.
Assuming you have 1GB of memory free (RAM), you can get about 61
frames in there. This should be doable. The question is how to
composite them together. This is going to be tricky. My first
thought was to load them in individual 3D buffers and bang out frames
to the compositing matrix or a texture for a video plane. If you
update all 800 each frame, you’re going to get bogged down in max
messages. So, I’m not quite sure how to do this best.

Another solution which might be more efficient is to load them all
into one giant 3D buffer. Then, you can use xray.jit.timecube @mode 2
with an appropriate map to extract out the frames for each section you
want. The advantage of this is that they’re all there in memory
together and instead of massive amounts of max messages, you have a
matrix of indices which specifies particular frames for each video.
If you want to dynamically change their position, you can have a
jit.repos @mode 0 with a map that moves movies around spatially.

I think this last method will be your best bet. You’ll need to put
some work into making it flexible, but I think it’s completely doable.

Anyone else?

wes

#72297
Mar 9, 2006 at 9:31pm

On Mar 9, 2006, at 1:01 PM, mbiederman wrote:

>
> Trying to slog together a patch that plays around 800 little videos
> simultaneously. (as well as doing some low-level tracking) Imagine
> jit.eclipse but with each cell there are different videos on a high
> res screen.
>
> the videos are about 64×80 and of course photo-jpeg.

you might want to try uncompressed. but even so, i think 800 videos
is going to be too much to ask of your system. you can verify or
debunk my gut reaction with some calculations based on your memory
bandwidth.

> using jit.qt.movie + loadram my computer kacks out after about 12
> and using jit.matrixset i can get about 24. This is on a G5 2.0 dual.
>
> Has anybody else experimented with something like this and had
> decent results? I’ll need individual frame control of each video,
> so playing a big composite back wont work.

if you have to move away from QT altogether, you could try loading
the movies onto textures if they are reasonably short. at 64×64, you
could put 1024 frames on a 2048×2048 texture. Fill up your VRAM with
frames and blast away.

-Randy

#72298
Mar 9, 2006 at 9:44pm

And I guess if used YUV pixel format, you could do quite a bit with
texture memory.

wes

#72299

You must be logged in to reply to this topic.