Forum

Dynamic video playback

Hi

Is there a good way to control a video (comes via FileStream - VideoTexture - Quad) dynamically with vvvv?
In detail, I want to control the speed and the direction (forward or backwards) of the video and change it at runtime.

I tried several approaches so far which didn’t really satisfy my needs:

  • played around with the “speed” pin of the FileStream-node but it seems like the speed cannot be increased over a certain level (values higher than about 10 didn’t bring differences any more)

  • set the speed to minus-values but the video doesn’t play in reverse…?

  • exported the whole video as image sequence, but loading the single jpgs as frames is way too slow (about 3 images in 2 sec on my MacBook Pro)

Any suggestions, hints, whatever? Is it even possible to do what I want with vvvv?

  • exported the whole video as image sequence, but loading the single jpgs as frames is way too slow (about 3 images in 2 sec on my MacBook Pro)
    if your video fits into your graphiccards memory this is your best bet. don’t forget to preload your textures though!

I’ve done it by setting the doseek pin to 1 and then using a LFO and map node to step through the frames, not ideal but it works, you need as fast a drive as you can get to do multiple layers

  • exported the whole video as image sequence, but loading the single jpgs as frames is way too slow (about 3 images in 2 sec on my MacBook Pro)

if you stick with this technique i can highly recommend to convert your JPGs to DDL-texture files first. results in faster loading times although the file sizes will be bigger.

regarding reading image sequences:

  1. make them multiples of 2, preferably 512x256 or so
  2. in the filetexture node set the desired size to the same value,
    set format to R8G8B8, set mipmap count to FromFile (which means no mip maps in case u r reading jpg-s)
    now u should be able to read jpgs with 25-60 fps from a 5400 rpm laptop hard drive
    good luck!