next days i want to build together with a friend a special video mixer for triggering short videoclips by sound.
it will be a part of his study work. according to moods in music he will design a library of short clips using flash/afterEffects/etc. the length in general will be below one second, so the files are very small. my beatdetector module should trigger 3 or 4 of the clips (-> mixer channels) at a time. the user interface will be a midi controller.
how should the clips be stored ? codec or uncompressed (200-500 kb i think)?
hi vvvvorum,
very small files (compressed at 100kb) are easy to load and preview, but need performance for decompression. so what’s the best average ? which codec is fast ?
is uncompressed the fastest ?
also uncompressed hat nur sinn, wenn euch ein recht schnelles system zur verfügung steht, natürlich spielt auch die auflösung eine rolle, also pal/ 320x240/ etc.
einen anderen, speziell für “künstlerische” belange entwickelten codec findest du hier: http://www.midivid.com/codec/
mideo ist auch sehr schnell, aber die files werden etwas größer.
most graphics cards deal best with power of two sized, square sized things. squish them in aftereffects and stretch them back later with a Transform on your Quad. so prepare all videos in 128x128, 256x256, 512x512 or 1024x1024.
If really want to have a rectangular video, play with the Texture Size mode pin on the VideoTexture. Some graphic card can deal with nonsquare thíngs. if the graphics card cant play them, switch back to software rescaling. obviously this is unnecessary slow.
how short are your clips? would it be possible to load everything into ram (use a huge spread of filetextures and getslice (see AV FAQ elsewhere)
With 1gb ram you can load a lot of 256x256 frames. while this would load within vvvv for ages, it allows you to play hundrets of video streams at the same time. you may be even fit everything in the graphics card ram. this would allow even more layers.
If the material allows it, use 8bit pngs for storage. as this needs only one byte per pixel. Grayscale material obviously works fine, Clean graphical material can be used with good old color palettes. Play with the Format pin in the FileTexture to get a internal storage format with a minimal memory footprint (use one with an 8 in the name and google for FourCC)
Also precale your images to powers of two/square in photoshop, set the mipmapcount to 1 and disable the stretch on load option. this will considerably reduce load time.
most graphics cards deal best with power of two sized, square sized things
yes, thats checked.
With 1gb ram you can load a lot of 256x256 frames. while this would load within vvvv for ages, it allows you to play hundrets of video streams at the same time.
512, but this will also fit some pics, and because of all videos are grayscale (to color it live) the 8bit png is really worth a try.
and the ram loading idea is a straight forward translation of audio samplers into graphics. an audiosampler also loads all sound clips into ram, thats the only way to have fast access.
my laptop was not able to play more than 3 clips smooth at one time with the filestream node …