Skip to main content

History: TheoraVideoPlugin

Preview of version: 7

Image

This is the Wiki home for the new and improved Ogre Theora Video Plugin.

With this plugin, you can stream Ogg Theora video files in your 3D application.
Frames are extracted and copied onto a texture and audio is abstracted out and can be used as eg. OgreAL::Sound, FMOD, or your custom audio system.

This Wiki is designed to provide as much information about the plugin use and development as humanly possible. If you want to edit/write articles, read the Ogre Handbook first.




{SPLIT()}

Using

  • Binary releases - Get the latest compiled versions of the plugin
  • Setup - How to setup the plugin library and materials
  • Materials - Material file documentation
  • API Reference - doxygen generated api documentation
  • Shaders - How to enable hardware accelerated YUV -> RGB conversion and use your own shaders
  • Reporting Bugs - They're not bugs, they're features ๐Ÿ˜Š But for the fun of it, lets point them out.
{DIV(class="Layout_box2")}
Image

Demos & Tutorials


Developers

  • Roadmap - What's left to do for the next release
  • Compiling Instructions - Here you can find detail instruction how to compile the plugin
  • Contribute - How to Contribute/Join the project
  • Links - If you want to know more{SPLIT}
Image

Articles

  • About - Short information about the project & links
  • Encoding - How to convert your Video files to Theora
  • Benchmark - Useful plugin performance analysis
  • How it works - How Theora Video plugin works
  • Use examples - Use videos to create a wide range of effects

Image

News

December 24th 2009
I recently began working on libtheoraplayer (see previous news for more details) and have already made significant improvements:

  • YUV -> RGB conversion is now twice as fast!
  • smooth video restart
  • added support for more conversions (RGB,RGBA,ARGB,GREY,GREY3...)
  • etc


the new project is hosted on sourceforge: http://sourceforge.net/projects/libtheoraplayer/

Further library news and updates will be anounced on that project's website, while the ogrevideo project will become an Ogre wrapper for libtheoraplayer once version 1.0 is finished.

October 31st 2009
As promised, I'm returning to active development again. I have chosen this project as my college thesis and will work on getting this plugin to 1.0 state, and continue maintaning it in the future.

I noticed the number of people using my plugin has increased and I'm glad to see that ๐Ÿ˜Š

The first thing that I intend to do is to separate the project in two parts as described in my previous post.
I'm thiking of naming the abstract streaming library "lib theora streamer". If you have any suggestions for the name, now would be the time!

so, theorastreamer will be used as a base for the ogre theora video plugin, which will from now on be just a wrapper for theorastreamer for ogre. This way, everyone can benefit from this project, not just Ogre users.

Also, as I'm using this plugin for my company's needs, I'll do Mac (intel and PPC) ports of the project as well.

All of the above will be completed by the end of January, 2010! I'd also like to use this opportunity to call out all developers interested in joining the project, I'd be happy to tutor you into the codebase.

May 21st 2009
Work has been done to improve stability of the plugin. Seeking is almost complete but could use some optimizations in the future.

I have been thinking a lot lately about the future roadmap for this project and believe I have come up with a perfect solution that will expand the userbase of this project significantly:

The plan is to separate this project into two parts:

  • The audio/video decoding library - a powerful library with a simple high-level API that would allow the programmer to easily extract frames and audio to display in his engine of choice, be it a simple home-made engine or Ogre3D.


The programmer would not have to worry about A/V sync or seeking, the library would automatically handle this as does the current plugin

  • OgreVideo plugin - the interface between Ogre3D and the above mentioned library, featuring video creation from material files as well as manual etc.


So what's different? The fact that a lot of users can benefit from this project. Theora isn't easy to work with, it is very low level. This way, you can just call a few functions and have a fully featured and optimized video player in your application.

I'd like to hear your comments on this idea in the forums!

April 12th 2009
I've done some code cleanup, simplified the demos by merging all ogre/cegui related stuff in a shared header file.
I've improved seeking a bit, fixed a few bugs and developed stereo support for the OpenAL audio interface.

There are three more major features I need to develop before I can release the first Alpha version for testing:

  • Precaching audio - preloading half a second of audio for smooth audio playback. Currently, the plugin decodes audio along with the frames which makes audio work only on faster computers. As soon as some difficult frames are encountered, audio gets laggy.
  • Finish seeking implementation - some general improvements for seeking.
  • Documentation - I need tu update this wiki with new information and compile and publish the api reference for the plugin.


Once this is complete, plus some minor features and debugging, the first alpha version of the plugin will be released for testing. It will be a binary build, with a few demos. The source code can of course be obtained via SVN.


History

Information Version
Mon 27 of Dec, 2021 15:13 GMT-0000 paroj 18
Mon 27 of Dec, 2021 15:11 GMT-0000 paroj 17
Mon 27 of Dec, 2021 15:08 GMT-0000 paroj 16
Sun 26 of Dec, 2021 15:24 GMT-0000 paroj 15
Sun 26 of Dec, 2021 15:18 GMT-0000 paroj 14
Sun 26 of Dec, 2021 15:15 GMT-0000 paroj 13
Mon 17 of Oct, 2011 07:41 GMT-0000 Kreso 12
Sat 01 of May, 2010 02:59 GMT-0000 jacmoe 11
Sat 16 of Jan, 2010 05:17 GMT-0000 jacmoe 10
Sat 16 of Jan, 2010 05:16 GMT-0000 jacmoe TheoraVideoPlugin news update 9
Mon 04 of Jan, 2010 03:36 GMT-0000 jacmoe Keeping up with the news 8
Thu 31 of Dec, 2009 19:42 GMT-0000 jacmoe 7
Mon 28 of Dec, 2009 03:16 GMT-0000 jacmoe 6
Mon 28 of Dec, 2009 02:54 GMT-0000 jacmoe 5
Mon 28 of Dec, 2009 02:53 GMT-0000 jacmoe 4
Mon 28 of Dec, 2009 02:44 GMT-0000 jacmoe 3
Mon 28 of Dec, 2009 02:42 GMT-0000 jacmoe 2
Sat 31 of Oct, 2009 20:51 GMT-0000 Kreso news post 1