ofVideoPlayer - multiple videos at once

hi everyone!

i am working on an windows-application that should ideally playback multiple videos at once, in realtime and on texturequads in 3d space. i do not need to modify the frameimages.

i made a simple demo app with multiple ofVideoPlayer objects and it worked but
performance was not really overwhelming (although better than processing :wink: ).
so i got a few thoughts and questions about it.

i saw the threads about building a threaded movieplayer but there is nothing reported about if it was successfull or not?

so here are my rants:

*) does anybody have experience with different settings and getting the best performance?
what is a good choice for width and height (thinking of opengl-texture-power-of-2 constraints to not fall off the fast path, and pixel fill rate)?
which codec is the best (compromise between file IO and CPU load)?
is it possible to go under 25fps and still experience smooth video?

*) right now i am using the default ofvideoplayer which i think uses quicktime on windows and mac. but i am not sure if this is the best (especially using quicktime under windows seems to be odd).
i could think of other backends like vlc/mplayer (arturo made one but i think it is linux-only), gstreamer, directshow or offload it completely to the GPU (nvidia cuda SDK provides a sample but till now it is only direct3d, opengl version should be available soon).
what do you think?

*) audio is stuttering. right now it does not bother me but it would be cool to solve it.
any ideas?

if anyone could share some insights, thx for help

greetings !

you can certainly try directshow, but I haven’t in the past seen it to be faster then quicktime. That was about 4 years ago though, to be honest :slight_smile:


also this might really be promising:


looks like PBOs, etc might be much better then textures…

I’m not sure exactly what you want to do, but I always suggest to upload as much to the graphics card as possible, (ie, try to upload as much content as textures before hand). then you can cut on the per-frame transfer which tends to kill framerate. the next ofVideoPlayer does per frame steps (ie, instead of setPosition(float) you can say setFrame(int)) which is helpful for uploading the full content. That’s in the svn and coming shortly…

hope that helps –
take care,