Xiph logo

Theora FAQ

What is Theora
Theora and VP3
Development
Using Theora
Misc and Credits
What is Theora

Q. What is Theora?
Theora is an open video codec being developed by the Xiph.org Foundation as part of their Ogg project (It is a project that aims to integrate On2's VP3 video codec, Ogg Vorbis audio codec and Ogg multimedia container formats into a multimedia solution that can compete with MPEG-4 format).
Theora is derived directly from On2's VP3 codec; currently the two are nearly identical, varying only in framing headers, but Theora will diverge and improve from the main VP3 development lineage as time progresses.


Q. Why use Theora?
It's open and free. Do you need more reasons?


Q. What other video formats will Theora compete with?
Theora is targeted at competing with MPEG-4 (e.g., XviD and DivX), RealVideo, Windows Media Video, and similar lower-bitrate video compression schemes.


Q. What is Ogg? What is Vorbis? What is xiph.org?
Vorbis is an audio codec, Theora is a video codec. Ogg is the transport layer that both are stored in, so a video file will be Theora-encoded data inside an Ogg file, while audio is normally Vorbis-encoded data inside an ogg file.
The Xiph.org Foundation is a Delaware non-profit company devoted to producing, maintaining and supporting an open multimedia platform.


Q. What is the license for Theora?
Theora (and all associated technologies released by the Xiph.org Foundation) is released to the public via a BSD-style license. It is completely free for commercial or noncommercial use. That means that commercial developers may independently write Theora software which is compatible with the specification for no charge and without restrictions of any kind.


Q. Why the name 'Theora?'
Like other Xiph.org Foundation codec projects such as Vorbis or Tarkin, Theora is named after a fictional character. Theora Jones was the name of Edison Carter's 'controller' on the television series Max Headroom. She was played by Amanda Pays.


Theora and VP3

Q. Is the Theora bitstream identical to VP3?
Yes and No. Theora is a superset of VP3, so VP3 streams (with minor syntactic modifications) can be made into Theora streams without recompression (but not vice versa).
Theora will be almost entirely based upon the VP3 codec designed by On2. However, Theora video data will be delivered inside of the Ogg container format (with Vorbis for audio), so Ogg Theora files will not be the same as VP3 files. There also may be quite a few performance advantages to using Theora when 1.0 is complete; While our focus is integration, there will certainly be a lot of optimization involved, as well.


Q. What can Theora do that VP3 couldn't do?
The major change from VP3 to Theora is architectural. VP3, like most codecs of today, makes certain assumptions about the nature of the material it compresses. These assumptions take the form of fixed sets of numeric values, such as quantization matrices, which control how different frequency components of the signal are handled, and token frequency tables, which control the efficiency of post-transform lossless coding. In Theora, we have leveraged the intrinsic flexibility of the Ogg multimedia framework to allow the encoder to modify these values appropriately for the material. This simple, powerful approach has already been proven effective in Vorbis, and will allow for a longer cycle of encoder optimization without requiring client-side updates.


Q. How will I transition my old VP3 files to the new format?
Because Theora is a 'superset' of VP3, tools can easily be created that will allow VP3 files to be losslessly transcoded into Ogg Theora format with no loss in quality.


Q. Can I convert Ogg Theora files into VP3?
Why would you want to do something like that? Are you nuts?


Q. Isn't VP3 a patented technology?
Yes, some portions of the VP3 codec are covered by patents. However, the Xiph.org Foundation has negotiated an irrevocable free license to the VP3 codec for any purpose imaginable on behalf of the public. It is legal to use VP3 in any way you see fit (unless, of course, you're doing something illegal with it in your particular jurisdiction). You are free to download VP3, use it free of charge, implement it in a for-sale product, implement it in a free product, make changes to the source and distribute those changes, or print the source code out and wallpaper your spare room with it.
For more information, check the VP3 Legal Terms on the SVN page


Q. What if Xiph.org and On2 decide to break off their agreement?
Because Theora is an Open Source project, the source code will continue to be available and development will continue. Users will still be protected from the On2 patents.


Development

Q. When will it all be finished? Can I use it right now?
The bitstream format is frozen since the release of Theora alpha 3. So, files produced by the alpha 3 reference encoder will be supported by all future decoders. This means you can safely use Theora to encode your content right now.


Q. What is an Alpha Release?
Typically when software is created at a software company, it goes through a number of stages before it's released out to the world. You've probably heard of 'beta-testing' before. That's when people take code that has been deemed 'not quite ready' and are testing it out so that the authors can fix bugs where necessary.
'Alpha' code usually is strictly for internal development only, which is to say, 'No one sees this code, it's not even close to being done yet.' At the Xiph.org Foundation, we release everything we do so that people can help us move the codebase forward by reporting bugs and submitting patches.
We encourage and depend on the open-source developer community to get involved early. We release Alpha builds to give people a chance to see what's cooking, and perhaps to add some ingredients of their own. If you think you have the right stuff, please join the party at www.Theora.org/lists.

While Theora is labelled alpha/beta it has been in production use in many systems for over 3 years and is completely safe to adopt.


Q. What is Tarkin?
Tarkin is essentially a proof-of-concept wavelet-based codec. Its experimental nature means it will not be ready for general use for some time. VP3 is a high-quality codec that can meet today's video needs now, so Xiph.org will be focusing its efforts on Theora for the near future.


Q. How can I help with development?
Head on over to the SVN page to grab the codebase, and hack away! Post your contributions online, and tell us about it on the Theora-dev mailing list.


Q. How will Ogg Theora interoperate with [insert your favorite media architecture]?
As the Ogg Vorbis format has gained acceptance, components have become available to play Ogg files on practically all of the major media players. We expect a similar if not superior level of support for Ogg Theora. Developers wanted! (if you're interested, sign up for the Theora-codecs@xiph.org mailing list).


Q. How can I donate to these amazing projects?
Wow, thanks! You can find more information on donating to the Xiph.org Foundation by following this link! Thanks in advance!


Using Theora

Q. What players currently support Theora?
Major players like mplayer, xine, helix player and VideoLAN supports Theora. Directshow filters are also available for use on Windows platform.


Q. How can I encode videos to Theora?

Have a look at ogg-theora-microhowto and transcode quicktime mov files to Theora files under Linux. You can use libogg, to wrap theora video with vorbis audio in Ogg file.

A user-friendly way to convert .dv and .avi format video into Ogg Theora format is with ffmpeg2theora. It can be found at: http://www.v2v.cc/~j/ffmpeg2theora/

A way to both stream and encode theora format video is with videolan (VLC).
Example for streaming the video4linux device in ogg theora/vorbis:

vlc v4l:/dev/video:input=3:norm=pal:size=384x288 --sout \
'#transcode{vcodec=theora,vb=300,acodec=vorb,ab=96}:std{access=http,mux=ogg,url=server.example.org:8000}'

Or, replace "v4l:/dev/video:input=3:norm=pal:size=384x288" with a filename if you want to transcode.

For more on the vlc syntax, see:
http://videolan.org/doc/videolan-howto/en/ch09.html


Q. Is there any way to use Theora on Microsoft Windows at this point?
Yes, you can use your Theora files on windows using Directshow filters. FFdshow also has support for Theora. You can also try vlc, realplayer Theora plugins or mplayer for windows.


Misc and Credits

Q. Who's in charge of Theora development?
The Xiph.org Foundation is the primary developer of Theora, but this is mainly an integration issue. The VP3 codec that serves as the base of Theora was written by a company called On2 Technologies. Xiph.org will be responsible for all aspects of the development. On2 will provide both monetary and technical support to Xiph.org throughout the project. On2 is also providing the source code of their implementation of the VP3 codec as well as some of their video tools.


Q. Who designed this website?
This website is based on a design called 'Nutrition,' available for public download from Open Source Web Design. The original author is known by the nickname of 'BrAInDeD-'.


Q. Who is the webmaster of this site?
That would be Manuel Lora, the greatest webmaster on the face of the planet.


Q. Who maintains The Glorious Theora FAQ?
No one person at the moment. Send changes to the list if it needs them. It was originally written by Emmett Plant and Dan Miller. his FAQ wouldn't be here at all without the work of Slammin' Stan Seibert, to whom we are eternally grateful.


Q. When was this FAQ last updated?
August 6th, 2007 by Maik Merten.