Lots of small QTs at once


    Mar 09 2006 | 9:01 pm
    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 64x80 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

    • Mar 09 2006 | 9:12 pm
      have you tried the poly~ for movies example?
      jitter-example/video/quicktime/PolyMovie
      make 800 voices. see wha'appens.
      P
    • Mar 09 2006 | 9:15 pm
      How many MBs are the videos?
      wes
    • Mar 09 2006 | 9:26 pm
      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
    • Mar 09 2006 | 9:31 pm
      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 64x80 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 64x64, you
      could put 1024 frames on a 2048x2048 texture. Fill up your VRAM with
      frames and blast away.
      -Randy
    • Mar 09 2006 | 9:44 pm
      And I guess if used YUV pixel format, you could do quite a bit with
      texture memory.
      wes