Skip to main content

History: TheoraVideoPlugin

Source of version: 7

Copy to clipboard
            {DIV(class="Layout_box1")}{img src="img/wiki_up/Theora-logo.png" alt="" imalign="left" align="left"}
This is the Wiki home for the new and improved [http://www.sf.net/projects/ogrevideo|Ogre Theora Video Plugin].

With this plugin, you can stream [http://www.theora.org/|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 ((Help:OgreWiki_Handbook|Ogre Handbook)) first.
{DIV}
{INCLUDE(page="TheoraVideoPlugin Toolbar tpl")}{INCLUDE}
{SPLIT()}
{DIV(class="Layout_box2")}
!!!Using
* ((TheoraVideoPlugin Releases|Binary releases)) - Get the latest compiled versions of the plugin
* ((TheoraVideoPlugin Setup|Setup)) - How to setup the plugin library and materials
* ((TheoraVideoPlugin Materials|Materials)) - Material file documentation
* [http://intranet.adrensoftware.com/doxygen/theora/index.html|API Reference] - doxygen generated api documentation
* ((TheoraVideoPlugin Shaders|Shaders)) - How to enable hardware accelerated YUV -> RGB conversion and use your own shaders
* ((TheoraVideoPlugin Reporting Bugs|Reporting Bugs)) - They're not bugs, they're features :) But for the fun of it, lets point them out.{DIV}{DIV(class="Layout_box2")}{SPLIT(colsize=15%|85%)}{IMG(src="img/wiki_up/Toolbox.png",imalign="left",align="left")}{IMG}---
!!!Demos & Tutorials
* ((TheoraVideoPlugin Player|Simple Player))
* ((TheoraVideoPlugin OpenAL|OpenAL audio))
* ((TheoraVideoPlugin Multiple Videos Demo|Multiple videos)){DIV}---{DIV(class="Layout_box4")}
!!!Developers
* ((TheoraVideoPlugin Roadmap|Roadmap)) - What's left to do for the next release
* ((TheoraVideoPlugin Compiling|Compiling Instructions)) - Here you can find detail instruction how to compile the plugin
* ((TheoraVideoPlugin Contribute|Contribute)) - How to Contribute/Join the project
* ((TheoraVideoPlugin Links|Links)) - If you want to know more{SPLIT}{DIV}{DIV(class="Layout_box2")}{SPLIT(colsize=15%|85%)}{img src="img/wiki_up/Old_book.png" alt="" align="right"}---
!!!Articles
* ((TheoraVideoPlugin About|About)) - Short information about the project & links
* ((TheoraVideoPlugin Encoding|Encoding)) - How to convert your Video files to Theora
* ((TheoraVideoPlugin Benchmark|Benchmark)) - Useful plugin performance analysis
* ((TheoraVideoPlugin HowItWorks|How it works)) - How Theora Video plugin works
* ((TheoraVideoPlugin Use Examples|Use examples)) - Use videos to create a wide range of effects{SPLIT}{DIV}
{SPLIT}
{DIV(class="Layout_box2")}{img src="img/wiki_up/Star.png" alt="" align="right"}
!!!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 [http://www.ogre3d.org/addonforums/viewtopic.php?f=18&t=10083|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.
---
* [http://www.ogre3d.org/addonforums/viewtopic.php?f=18&t=7853&p=53832#p45725|News Archive]{DIV}
        

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