Best practices for retrieving a specific frames across A LOT of videos realtime?


    Mar 16 2017 | 1:07 pm
    Hi there,
    Imagine 40 footages.
    I'm looking for way for flashing very fast frame randomly across all these footages.
    I mean: footage 1 frame 553, then footage 34 frame 33 etc etc
    Very fast.
    [jit.playlist] seems the most natural way for doing this.
    But this is also a UI object and I don't need the UI.
    So I'm requesting you about your own experience.
    Basically jit.playlist vs poly~ w/ jit.movie inside and dynamic loading of (let's say) 16 movies at a time to all my poly~ voices.

    • Mar 16 2017 | 3:27 pm
      This isn't really an answer to your question, but did you consider concatenating all your movie files into one longer movie and randomly choosing a frame from that?
    • Mar 16 2017 | 3:34 pm
      Hi Christopher, actually, it really makes sense.
      I'm "afraid" of have a VERY HUGE HEAVY 4K file.
      actually, if I have 100 movies, I could probably do something dynamic like 10 movies concatenated in order to have "only" 10 [jit.movie]. of course, I couldn't play at the same time elements within a concatenation but only from a concatenation to another.
      That's a nice idea.
      Afraid of having huge amount of RAM used.
    • Mar 16 2017 | 3:55 pm
      A few thoughts:
      1) Depending on how fast the frames will be displayed, and what your actual aesthetic goals are, you might ask yourself whether you really need to be able to access every frame of all of those 100 movies to achieve the effect you want. Will the viewer really be able to distinguish between that and random frames from 1/10 as much initial footage (1/10 as many movies or the same number of movies but with a greatly reduced fps)?
      2) You don't have to load your movie(s) into RAM with loadram. Seeking a frame on disk is still pretty fast.
      3) If you're worried about the seek time, you can seek the next frame immediately after you show the current frame, instead of seeking the next frame at exactly the moment you want to display it. That gives the computer a lot of time to find and load the next frame. Here's an example of what I mean.
    • Mar 16 2017 | 4:03 pm
      I totally got it.
      Aesthetically, I didn't describe it enough. Being able to indeed seek frame in advance can be very enough and actually, seeking a frame on SSD will be indeed totally ok, you are totally right.
      (Actually, if you even knew how fast I will display that, you'd have a better idea of the fact my project is audiovisual and digital art genre sorted but especially a kind of new dadaist poetry epileptically speaking ---> crazy)
      I like the idea of having concatenated movies too.
      Even dynamic loading (I play with a subset of my whole set of movies, then I progressively "load" others into jit.movie, progressively switching to another set etc) could be ok.
      Thanks again Christopher.
      Hope to be able to set up a prototype asap.
    • Mar 20 2017 | 7:44 pm
      if you have enough memory, your best bet for random frame access is using the loadram feature of the viddll engine, with a large enough cache_size.
    • Mar 20 2017 | 10:14 pm
      Thanks Rob.
      Actually, I'll test that too.
      BUT, I was thinking more using HAP so it means hap engine and no viddll
      Basically, I'm hesitating between both methods (when my system will be more operational, I'll test both):
      viddll w/loadram VS HAP
      I'm aiming at 4K video. Don't know which method would be the less CPU consuming etc.