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. Have a look at the Theora benefits section for further information.


Q. What other video formats does 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).


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?
The Xiph.org Foundation has negotiated an irrevocable free license from On2 to the VP3 codec. 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 and Theora, use them free of charge, implement them in a for-sale product, implement them 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. Can I use it right now?
The bitstream format was frozen after the release of libtheora 1.0 alpha 3 in 2004. Files produced by the alpha 3 reference encoder will be supported by all future decoders.


Q. What is Thusnelda?
Thusnelda was the codename of the encoder rewrite subsequent to the 1.0 release. It offered significant improvements in output quality.


Q. What is Tarkin?
Tarkin was a proof-of-concept wavelet-based codec. It was never ready for general use. Xiph.org is focusing its efforts on Theora and Dirac for the foreseeable future.


Q. How can I help with development?
Head on over to the Git 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 does 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. The open source Firefox and Chrome web browsers have native Theora playback as part of their media element (<video>) element support.


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.

There's a more complete list of players available at the xiph.org wiki.


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 VP3 codec that serves as the base of Theora was written by a company called On2 Technologies. Xiph.org is responsible for all aspects of on going development.


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. This 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?
March 28th, 2009 by Ralph Giles.