Video Player Better setup QT movie

I want to play large and weigh video. Any suggestions to play weight video with good resolution? With QTime , I’ve created weight (like 768*576 with Best Quality and 16 Bits Depth) mov video and there are problems to have good continuous frame player… Any suggestion in options edit movie (QT) and draw options in OF ?

Could be better use small mov video (like 640*480) and use warp texture to enlarge video?

Have anyone use video player to play high quality video?

Thnks
c*

can you upload the video + code (src and data folders) – we’d like to see. you can always scale the texture up. one problem is that at some point, the upload to the graphics card of pixel data for the textures gets hard. several other problems:

a) data needs to be read from disk, so the larger it is, the slower the reads are
b) we do some non-optimal stuff in quicktime to get you pixels that are RGB, not RGBA, and this could slow down qt player, a bit
c) some compression formats are not designed for random access (ie, accessing individual frames) as opposed to playing forward at speed 1, they compress in blocks of frames and have to work much harder to get out one random frame then others

I’d experiment with size and compression format, because you should be able to play a movie that size. if nothing pans out, please upload everything and we’ll take a look ourselves.

thanks!
zach

Thanks for your comments Zack.
I’ve cut some scenes of last large video and I’ve got near 2Gb of size. Now looks it goes so fine. I’m using VideoPlayer app example. But when in the movie appears relative fast displacement camera, then in the image displays some “sliced lines in image”, like bad composed image, not confuse with interlaced image error. I’ve used H264 codec video. In quicktime player , this error is not visible… Next rendered video I’m going to use other codec, like mpeg apple, but I’m not sure if is best option to use in VideoPlayer OF. Any codec suggestion? I’ve several options with adobe premier encode

Best Regards
Charlie

hi charlie,

I don’t think it’s possible to help you w / out you uploading something for us to test. for example, your problem is interesting, but we would need to see it on our machines, since we’ve never seen it before.

If we can’t see it (ie, you just describe it in text, no screenshots, etc) don’t know how to help you w/ it.

I’d go for an video codec that allows for random access, perhaps motion jpeg? there is a tradeoff w/ different codecs in terms of how quickly you can decompress frames and how well individual frams can be decoded vs. blocks of frames. Also, some compression formats are harder in compression then they are in decompression.

hope that helps. If you want us to help you with the specific problem, please upload something for us to take a look at!

thanks
zach

Hi Zack ,

I’ve rendered video with Motion JPEG A, inside of this .rar http://personales.ya.com/charli-e/OF/moviePlayerExample.rar are compressed little test video and code of VideoPlayer.

Tell me if you see something wrong, thanks.

pd: I’m using WinXP pro 32 in Pentium Dual Core 3Ghz with 2 GB RAM. The GFX cards is an ATI RADEON GTO with 128Mb.

c*

I’m going to delete some scenes (when camera is moved) in my video. The rest of my video it’s enough fine displayed with QT Jpeg motion A.
Thanks

Zach has touched on a topic in a few posts that I am curious about.

If you wanted to have different levels of transparency, for example, chroma-keying, you would have to get the data from the movie player and put into a similar sized array that could contain RGBA info, and then upload that into a ofTexture that is GL_RGBA.

from
http://forum.openframeworks.cc/t/accessing-and-controlling-a-movie’s-alpha/51/0
and

b) we do some non-optimal stuff in quicktime to get you pixels that are RGB, not RGBA, and this could slow down qt player, a bit

from this thread.

But my question is, assuming that you have an RGBA Quicktime movie, is it possible to load it in *with* the alpha channel? Perhaps you could tweak some of the OF wrapper code somehow? I am going to be playing lots of movies with alpha, and if I have to get the pixels of each one and do a chroma keying technique, the performance is going to plummet.

Thanks!

update —

I’ve had some luck loading myMovie.offscreenGWorldPixels into an GL_RGBA texture, but this is pretty hacky since it seems that offscreenGWorldPixels is only used if OF_VIDEO_PLAYER_FOBS isn’t defined?

another update –

just kidding - i thought this was a pixel array of the movie with alpha values, but now I’m not so sure.

if it’s helpful, the function that does the conversion from RGBA to RGB is in qtUtils :

  
  
void convertPixels(unsigned char * gWorldPixels, unsigned char * rgbPixels, int w, int h)  
  

you should be able to grab the gWorld pixels and get alpha (I’ve never tested this though), but be careful about byte ordering, which will be diff on intel vs. power pc.

as for FOBs stuff, that is for linux video playback so you can disregard those #defines as you work on quicktime stuff.

take care!
zach