![]() | |
Filename extension | .ogv, .ogg |
---|---|
Internet media type | video/ogg |
Developed by | Xiph.org |
Initial release | 1 June 2004 (2004-06-01)[1] |
Latest release | Theora I 16 March 2011[2] |
Type of format | Video coding format |
Contained by | Ogg,Matroska |
Extended from | VP3 |
Standard | Specification |
Open format? | Yes[3] |
Free format? | Yes[4] |
Website | theora.org |
Developer(s) | Xiph.org |
---|---|
Initial release | 3 November 2008 (2008-11-03) (1.0) |
Stable release | |
Preview release | |
Written in | C |
Operating system | Unix-like (inclLinux,Mac OS X),Windows |
Type | Video codec,reference implementation |
License | 3-clause BSD |
Website | www |
Theora is afreelossyvideo compression format.[7] It was developed by theXiph.Org Foundation and distributed without licensing fees alongside their other free and open media projects, including theVorbis audio format and theOgg container.
Thelibtheoravideo codec is thereference implementation of the Theora video compression format developed by the Xiph.Org Foundation.[8][9]
Theora was derived from the formerlyproprietaryVP3 codec, released into thepublic domain byOn2 Technologies. It is broadly comparable in design and bitrate efficiency toMPEG-4 Part 2, early versions ofWindows Media Video, andRealVideo while it lacked some of the features present in some of these other codecs. It is comparable in open standards philosophy to theBBC'sDirac codec.
Theora was named afterTheora Jones,Edison Carter's Controller on theMax Headroom television program.[10]
Theora is avariable-bitrate,DCT-based video compression scheme. Like most common video codecs, Theora usedchroma subsampling,block-based motion compensation and an 8-by-8 DCT block. Pixels are grouped into various structures, namely blocks, super blocks, andmacroblocks. Theora supports intra-coded frames ("keyframes") and forward-predictive frames, but notbi-predictive frames which are found inH.264 andVC-1. Theora also does not supportinterlacing, or bit-depths larger than 8 bits per component.[2]
Theora video streams can be stored in any suitablecontainer format, but they are most commonly found in theOgg container withVorbis orFLAC audio streams. This combination provided a completely open, royalty-free multimedia format. It can also be used with theMatroska container.[11]
The Theora video-compression format is compatible with the VP3 video-compression format, which consisted of a backward-compatible superset.[12][13] Theora is a superset of VP3, and VP3 streams (with some minor syntactic modifications) can be converted into Theora streams without recompression (but not vice versa).[13] VP3 video compression can be decoded using Theora implementations, but Theora video compression usually cannot be decoded using old VP3 implementations.
Theora's predecessorOn2 TrueMotion VP3 was originally aproprietary and patent-encumberedvideo codec developed byOn2 Technologies. VP3.1 was introduced in May 2000[14] and followed three months later by the VP3.2 release,[15] which was the basis for Theora.
In August 2001, On2 Technologies announced that they would release an open source version of their VP3.2 video compression algorithm.[16][17] In September 2001, On2 Technologies published thesource code of the VP3.2 codec under the VP3.2 Public License 0.1,[18] a custom open-source license.[19][20] The license only granted the right to modify the source code if the resultant larger work continued to support playback of VP3.2 data.[18][21]
In March 2002, On2 responded to the public's reception by relicensing the VP3 codec under theGNU Lesser General Public License.[22] In June 2002, On2 donated VP3 to the Xiph.Org Foundation and offered it under the Ogg VorbisBSD-style license.[23][24][25][26] On2 also made an irrevocable,royalty-free license grant for any patent claims it might have over the software and any derivatives,[2] allowing anyone to use any VP3-derived codec for any purpose.[12][27] In August 2002, On2 entered into an agreement with the Xiph.Org Foundation to make VP3 the basis of a new, free video codec, called Theora.[28] On2 declared Theora to be VP3's successor.[citation needed] On 3 October 2002, On2 and Xiph announced the completion and availability of the initial alpha code release oflibtheora, Theora's reference implementation.[29]
There is no formal specification for VP3'sbitstream format beyond the VP3 source code published by On2 Technologies. In 2003, Mike Melanson created an incomplete description of the VP3 bitstream format and decoding process at a higher level than source code, with some help from On2 and Xiph.Org Foundation. The Theora specification adopted some portions of this VP3 description.[2][30]
A successor to Theora,Daala, was later merged intoAV1.[31]
The Theora I bitstream format wasfrozen in June 2004 after the libtheora 1.0alpha3 release.[1] Videos encoded with any version of the libtheora since the alpha3 will be compatible with any future player.[1][32] This is also true for videos encoded with any implementation of the Theora I specification since the format freeze. TheTheora I Specification was completely published in 2004.[33] Any later changes in the specification are minor updates.
The Theora reference implementation libtheora spent several years inalpha and beta status.[32] The first alpha version was released on 25 September 2002 and the first beta version was released on 22 September 2007.[34] The first stable release of libtheora was made in November 2008.[35][36] Work then focused on improving the codec's performance in the"Thusnelda" branch, which was released as version 1.1 in September 2009 as the second stable libtheora release.[32][37] This release brought some technical improvements and new features, such as the new rate control module and thetwo-pass rate control.
The codename for the next version of libtheora wasPtalarbvorm.[38]
Theora was well established as a video format inopen-source applications, and became the format used forWikipedia's video content before replaced byVP9. However, the proposed adoption of Theora as part of the baseline video support in HTML5resulted in controversy.[39]
In October 2023, Google announced intent to remove Theora support from Chromium (finalizing removal by Google Chrome 123),[40] with Firefox following suit. Google developers claimed that despite lack of adoption, Theora made a case for open and royalty-free codecs likeAV1.[41][better source needed]
Evaluations of the VP3[42]and early Theora encoders[43][44][45]found that their subjective visual quality was inferior to that of contemporary video codecs. The performance characteristics of the Theora 1.0 reference implementation are dominated mostly by implementation problems inherited from the original VP3 code base.[46] Work that lead up to the 1.1 stable release focused on improving on or eliminating these. A May 2009 review of this work by Xiph developer Chris Montgomery claimed a considerable improvement in quality, both subjectively and as measured byPSNR, by improving the forwardDCT and quantisation matrices.[47] More recently however,[when?] Xiph developers compared the 1.1 Theora encoder toYouTube's H.264 andH.263+ encoders, in response to concerns raised in 2009 about Theora's inferior performance byChris DiBona, aGoogle employee.[48] They found the results from Theora to be nearly the same as YouTube's H.264 output, and much better than the H.263+ output.[49][50]
The differences in quality, bitrate and file size between a YouTube H.264 video and a transcoded Ogg video file are very small.[51]
There was anopen-sourceVHDL code base for a hardware Theora decoder in development.[52][needs update] It began as a 2006GoogleSummer of Code project, and it has been developed on both theNios II andLEON processors.[53] However, there are currently no Theora decoder chips in production, andportable media players,smartphones and similar devices with limited computing power rely on such chips to provide efficient playback.
![]() | This sectionmay containunverified orindiscriminate information inembedded lists. Please helpclean up the lists by removing items or incorporating them into the text of the article.(June 2014) |
As originally recommended byHTML 5, these browsers support Theora when embedded by thevideo
element:
There are several third-party programs that support encoding through libtheora:
Name | Description | Operating Systems Supported | ||
---|---|---|---|---|
Unix-like | OS X | Windows | ||
A command-line program that transcodes video by decoding withFFmpeg and reencoding with libtheora to encode it | Yes | Yes | Yes | |
Can transcode to single-pass Theora 1.0 and optionally stream it | Yes | Yes | Yes | |
"Video DJing" software that can encode to and stream Theora | Yes | Yes | ? | |
The video editor supplied withKDE | Yes | ? | ? | |
The video editor supplied withGNOME | Yes | ? | ? | |
Video editing software for Linux. Can edit, encode and stream theora. | Yes | Yes | ? | |
Can output to Theora only with theMatroska container | Yes | Yes | Yes | |
Records the screen to Ogg Theora with optional Vorbis audio | Yes | ? | ? |
The libtheora library contains the reference implementation of the Theora specification for encoding and decoding. libtheora was developed by theXiph.Org Foundation. The library was released under the terms of aBSD-style license.
Also, several media frameworks have support for Theora.
Name | Description | Operating Systems Supported | ||
---|---|---|---|---|
Unix-like | OS X | Windows | ||
Video editing software for Linux. Can edit, encode and stream theora. | Yes | Yes | ? | |
TheKDE video editor. | Yes | ? | ? | |
Yes | ? | ? | ||
TheGNOME video editor. | Yes | ? | ? | |
CVS versions of theCinelerranon-linear video editing system support Theora, as of August 2005. | Yes | Yes | ? | |
| Command line programs to examine and edit Ogg files. | Yes | ? | Yes |
| Tools to resize, cut, split, join, and others[78] | Yes | Yes | Yes |
? | ? | Yes |
The following streaming media servers are capable of streaming Theora video:
Name | Description | Operating Systems Supported | ||
---|---|---|---|---|
Unix-like | OS X | Windows | ||
Yes | Yes | Yes | ||
Yes | ? | Yes | ||
Can stream ogg/theora/vorbis in realtime to a file or fifo. | Yes | Yes | ? |
Elphel is the main maker of cameras that record in theora.
{{citation}}
: CS1 maint: numeric names: authors list (link){{citation}}
: CS1 maint: numeric names: authors list (link){{citation}}
: CS1 maint: numeric names: authors list (link){{citation}}
: CS1 maint: numeric names: authors list (link){{citation}}
: CS1 maint: numeric names: authors list (link){{citation}}
: CS1 maint: numeric names: authors list (link)