video textures

futnuh

02-02-2007 23:38:44

What options are available for doing pop-up overlays of video? For our current project, we need to show snippets of pre-recorded video (512x512) overlaid onto our main 1920x1080 Ogre window. Having just downloaded the awesome python-ogre binding, I noted that the dynamic texture demo isn't present. Would this be a prerequisite for getting video textures working?

andy

03-02-2007 08:20:59

I'm not sure about putting a video overlay into Ogre, however examples of 'dynamic' texture can be seen in Demo_RenderToTexture.py (the reflection plane is dynamic), and Demo_Gui in the CEGUI section; under the Objects tab, select a "Render to Texture" object...

The Dyntex demo is on my list to convert from C++ to Python, however there isn't anything missing in Python-Ogre (that I know of), someone simply needs to do the work to write the demo in Python

Cheers
Andy

OvermindDL1

05-02-2007 03:12:53

There is a theora plugin to show videos inside Ogre on a texture, made by Pjcast (same person who made OIS). Check his site (wreckedgames.com I think) for a download, forum, etc...

futnuh

05-02-2007 03:21:01

The Theora plug-in has not yet been been ported to Eihort. Further, it is no longer being supported by pjcast:
http://www.ogre3d.org/phpBB2/viewtopic.php?t=28335

As of last November, the wmvideo plug-in is reportedly unreliable. At least according to atsakir who seems to have really given it a good try (see his post about 2/3 down):
http://www.ogre3d.org/phpBB2/viewtopic. ... c&start=50

I did come across this new code snippet for displaying directshow video as an ogre texture:
http://www.ogre3d.org/wiki/index.php/Di ... re_texture

Game_Ender

05-02-2007 05:36:15

You are probably going to have to write a native extensions module that interfaces with Ogre on the C++ level, then expose it with Boost.Python. It shouldn't be super hard given the DirectShow snippet/sample. If its not already suitable for your purposes it should at least show you how to properly get video data into Ogre. If you need something more cross platform you could change the DirectShow sample to use ffmpeg.

I am not sure if a pure Python solution is possible. You might try PyMedia.

Update: There was a bug with dynamic textures in Eihort, Sinibad has fixed it. You might want to give the theora plugin another try.