MovieTexture vs. VideoTexture

I have a bunch of questions about playing a video clip in Panda. I’ve been working on this for a few days and have read pretty much all the documentation and forum posts relating to this. Can anyone answer these questions?

  1. What is the difference between MovieTextures and VideoTextures?

  2. What are the advantages or disadvantages of using one over the other?

  3. How can you explicitly create one or the other? I use

myTexture = loader.loadTexture(myMovie)

and I get a MovieTexture, but I’m not sure how I can create a VideoTexture.

  1. I noticed that Panda cannot load the video if it has no audio track. So I just used a silent audio track when exporting the avi, and it loaded. I want to play audio independently from the video, and as such do not want to control everything through a sound that has been synchronized to the movie, as in the Media Player example. Will controlling the playback directly on the texture be different than controlling it through the synchronized sound?

  2. Today when I call myTexture.getTime() it always returns the duration of the clip, regardless of whether it is playing, stopped, looping, or where the actual playhead is in the clip. I have no idea why this is happening, because it seemed to work yesterday. Do you have any idea what could cause this? update: It seems to work when using the synchronized sound, but not directly on the texture. I’d still love some advice…

Thanks!

  1. MovieTexture is the new class that will replace VideoTexture. I think it’s still somewhat experimental. It’s supposed to create a MovieTexture only if you explicitly put “use-movietexture 1” in your Config.prc file; otherwise it should create an FFMpegTexture (which inherits from VideoTexture). If you didn’t do this, I don’t know why it’s creating a MovieTexture. Try putting “use-movietexture 0” in your Config.prc file.

  2. MovieTexture integrates sound and video. VideoTexture is video only. MovieTexture might be buggy.

  3. Sounds like a bug.

  4. Also sounds like a bug.

David