Theora Explained

Extension:.ogv, .ogg
Mime:video/ogg
Owner:Xiph.org
Released:[1]
Latest Release Version:Theora I
Latest Release Date:16 March 2011[2]
Type:Video coding format
Contained By:Ogg, Matroska
Extended From:VP3
Open:Yes[3]
Free:Yes[4]
Standard:Specification
Url:theora.org
libtheora
Developer:Xiph.org
Released: (1.0)
Latest Release Version:1.1.1
Latest Release Date:[5]
Latest Preview Version:1.2.0 Alpha 1
Latest Preview Date:[6]
Programming Language:C
Operating System:Unix-like (incl Linux, Mac OS X), Windows
Genre:Video codec, reference implementation
License:3-clause BSD

Theora is a free lossy video compression format.[7] It was developed by the Xiph.Org Foundation and distributed without licensing fees alongside their other free and open media projects, including the Vorbis audio format and the Ogg container.

The libtheora video codec is the reference implementation of the Theora video compression format developed by the Xiph.Org Foundation.[8] [9]

Theora was derived from the formerly proprietary VP3 codec, released into the public domain by On2 Technologies. It is broadly comparable in design and bitrate efficiency to MPEG-4 Part 2, early versions of Windows Media Video, and RealVideo while it lacked some of the features present in some of these other codecs. It is comparable in open standards philosophy to the BBC's Dirac codec.

Theora was named after Theora Jones, Edison Carter's Controller on the Max Headroom television program.[10]

Technical details

Theora is a variable-bitrate, DCT-based video compression scheme. Like most common video codecs, Theora used chroma subsampling, block-based motion compensation and an 8-by-8 DCT block. Pixels are grouped into various structures, namely blocks, super blocks, and macroblocks. Theora supports intra-coded frames ("keyframes") and forward-predictive frames, but not bi-predictive frames which are found in H.264 and VC-1. Theora also does not support interlacing, or bit-depths larger than 8 bits per component.[2]

Theora video streams can be stored in any suitable container format, but they are most commonly found in the Ogg container with Vorbis or FLAC audio streams. This combination provided a completely open, royalty-free multimedia format. It can also be used with the Matroska container.[11]

The Theora video-compression format is compatible with the VP3 video-compression format, which consisted of a backward-compatible superset.[12] 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). VP3 video compression can be decoded using Theora implementations, but Theora video compression usually cannot be decoded using old VP3 implementations.

History

See also: VP3. Theora's predecessor On2 TrueMotion VP3 was originally a proprietary and patent-encumbered video codec developed by On2 Technologies. VP3.1 was introduced in May 2000 and followed three months later by the VP3.2 release, which was the basis for Theora.

Move to free software

In August 2001, On2 Technologies announced that they would release an open source version of their VP3.2 video compression algorithm.[13] In September 2001, On2 Technologies published the source code of the VP3.2 codec under the VP3.2 Public License 0.1, a custom open-source license.[14] The license only granted the right to modify the source code if the resultant larger work continued to support playback of VP3.2 data.[15]

In March 2002, On2 responded to the public's reception by relicensing the VP3 codec under the GNU Lesser General Public License.[16] In June 2002, On2 donated VP3 to the Xiph.Org Foundation and offered it under the Ogg Vorbis BSD-style license.[17] [18] [19] On2 also made an irrevocable, royalty-free license grant for any patent claims it might have over the software and any derivatives, allowing anyone to use any VP3-derived codec for any purpose.[20] [21] 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.[22] On2 declared Theora to be VP3's successor. On 3 October 2002, On2 and Xiph announced the completion and availability of the initial alpha code release of libtheora, Theora's reference implementation.

There is no formal specification for VP3's bitstream 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.

A successor to Theora, Daala, was later merged into AV1.[23]

Theora I specification

The Theora I bitstream format was frozen 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. This is also true for videos encoded with any implementation of the Theora I specification since the format freeze. The Theora I Specification was completely published in 2004.[24] Any later changes in the specification are minor updates.

The Theora reference implementation libtheora spent several years in alpha and beta status. The first alpha version was released on 25 September 2002 and the first beta version was released on 22 September 2007.[25] The first stable release of libtheora was made in November 2008.[26] [27] 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.[28] This release brought some technical improvements and new features, such as the new rate control module and the two-pass rate control.

The codename for the next version of libtheora was Ptalarbvorm.[29]

Theora was well established as a video format in open-source applications, and became the format used for Wikipedia's video content before replaced by VP9. However, the proposed adoption of Theora as part of the baseline video support in HTML5 resulted in controversy.[30]

Legacy

In October 2023, Google announced intent to remove Theora support from Chromium (finalizing removal by Google Chrome 123),[31] with Firefox following suit. Google developers claimed that despite lack of adoption, Theora made a case for open and royalty-free codecs like AV1.[32]

Performance

Encoding performance

Evaluations of the VP3[33] and early Theora encoders[34] [35] 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.[36] 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 by PSNR, by improving the forward DCT and quantisation matrices.[37] More recently however, Xiph developers compared the 1.1 Theora encoder to YouTube's H.264 and H.263+ encoders, in response to concerns raised in 2009 about Theora's inferior performance by Chris DiBona, a Google employee.[38] 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.[39] [40]

The differences in quality, bitrate and file size between a YouTube H.264 video and a transcoded Ogg video file are very small.[41]

Playback performance

There was an open-source VHDL code base for a hardware Theora decoder in development.[42] It began as a 2006 Google Summer of Code project, and it has been developed on both the Nios II and LEON processors.[43] However, there are currently no Theora decoder chips in production, and portable media players, smartphones and similar devices with limited computing power rely on such chips to provide efficient playback.

Playback

Web browsers

See main article: Use of Ogg formats in HTML5. As originally recommended by HTML 5, these browsers support Theora when embedded by the video element:

Supporting media frameworks

Supporting applications

Encoding

There are several third-party programs that support encoding through libtheora:

NameDescriptionOperating Systems Supported
Unix-likeOS XWindows
ffmpeg2theora[50]
A command-line program that transcodes video by decoding with FFmpeg and reencoding with libtheora to encode it
VLC
Can transcode to single-pass Theora 1.0 and optionally stream it
FreeJ
"Video DJing" software that can encode to and stream Theora?
Kdenlive
The video editor supplied with KDE??
Pitivi
The video editor supplied with GNOME??
LiVES
Video editing software for Linux. Can edit, encode and stream theora.?
HandBrake
Can output to Theora only with the Matroska container
RecordMyDesktop
Records the screen to Ogg Theora with optional Vorbis audio??

The libtheora library contains the reference implementation of the Theora specification for encoding and decoding. libtheora was developed by the Xiph.Org Foundation. The library was released under the terms of a BSD-style license.

Also, several media frameworks have support for Theora.

Editing

NameDescriptionOperating Systems Supported
Unix-likeOS XWindows
LiVES
Video editing software for Linux. Can edit, encode and stream theora.?
Kdenlive
The KDE video editor.??
OpenShot
??
Pitivi
The GNOME video editor.??
Cinelerra
CVS versions of the Cinelerra non-linear video editing system support Theora, as of August 2005.?
oggz-tools by Xiph.org
Command line programs to examine and edit Ogg files.?
Ogg Video Tools by yornstreamnik
Tools to resize, cut, split, join, and others[56]
AVS Video Editor
??

Streaming

The following streaming media servers are capable of streaming Theora video:

NameDescriptionOperating Systems Supported
Unix-likeOS XWindows
VLC
Icecast
?
LiVES
Can stream ogg/theora/vorbis in realtime to a file or fifo.?

Makers

Elphel is the main maker of cameras that record in theora.

See also

External links

Notes and References

  1. Theora I bitstream freeze . theora-dev . 1 June 2004 . Giles . Ralph . 25 September 2009.
  2. Web site: Theora Specification . 31 January 2012 . 16 March 2011 . Xiph.Org Foundation .
  3. Web site: PlayOgg! – FSF – Free Software Foundation . 2013-10-01. 2010-03-17.
  4. Web site: Theora FAQ . Xiph.org . 1 December 2021 . https://web.archive.org/web/20200926192702/https://xiph.org/theora/faq/ . 26 September 2020 . 2016.
  5. Web site: Theora 1.1.1 release . 6 October 2009 . Xiph.Org Foundation.
  6. Web site: Sep 2010 . libtheora 1.2.0alpha1 release . 10 October 2010 . Xiph.Org Foundation.
  7. .
  8. Web site: Xiph.Org Foundation . libtheora Documentation 1.1.0 . 25 September 2009 . Xiph.Org Foundation.
  9. Web site: ohloh . ohloh . libtheora . 25 September 2009 . . 10 October 2010 . https://web.archive.org/web/20101010075905/http://www.ohloh.net/p/libtheora . dead .
  10. Web site: Xiph.Org Foundation . Theora FAQ . 6 August 2009.
  11. Web site: Matroska . Matroska Codec Specs . 6 August 2009.
  12. Xiph.org FAQ – Theora and VP3. Retrieved 2 September 2009
  13. Web site: Mariano. Gwendolyn. On2's video codec to go open-source. CNET. 7 August 2001.
  14. Web site: Bernat. Bill. On2 Offers Up VP3.2 Source Code. StreamingMedia.com. 7 September 2001.
  15. VP3.2 video codec open sourced. vorbis . Seibert . Stan . September 2001.
  16. On2 Alters Licensing Terms for VP3; Company Responds to Open Source Community Demands. . On2 Technologies . 28 March 2002 . 16 August 2009 . 4 December 2010 . https://web.archive.org/web/20101204092727/http://www.thefreelibrary.com/On2+Alters+Licensing+Terms+for+VP3%3b+Company+Responds+to+Open+Source...-a084233138 . dead .
  17. Web site: Xiph.Org Foundation . Theora Specification . 16 March 2011 . Xiph.Org Foundation . 1.
  18. Linux.com (23 June 2002) Ogg Vorbis, VP3 combining forces to create Open Source multimedia package, Retrieved on 2009-08-16
  19. InternetNews.com (24 June 2002) On2 Throws More Open-Source at MPEG-4, Retrieved on 16 August 2009
  20. Xiph.org libtheora license (Subversion – Trunk), Retrieved on 16 August 2009
  21. Xiph.org VP32 codec license (Subversion – Trunk), Retrieved on 16 August 2009
  22. The Free Library (1 August 2002) On2 Signs Pact With Xiph.org to Develop/Support VP3, Retrieved on 16 August 2009
  23. Web site: Tech giants join forces to hasten high-quality online video . . Stephen Shankland . 2015-09-01 . 2021-03-17.
  24. Web site: Xiph.Org Foundation . Theora I Specification, Xiph.org Foundation, September 17, 2004 . 26 September 2009 . 17 September 2004 . https://web.archive.org/web/20040928224506/http://www.theora.org/doc/Theora_I_spec.pdf . 28 September 2004.
  25. Web site: CHANGES file . 31 December 2022 .
  26. Theora 1.0 final release! . theora-dev . 3 November 2008 . Giles . Ralph . 4 November 2008.
  27. The Xiph.Org Foundation announces the release of Theora 1.0 . Xiph.Org Foundation . 3 November 2008 . 6 August 2009.
  28. libtheora 1.1 (Thusnelda) stable release . theora-dev . 24 September 2009 . Giles . Ralph . 24 September 2009.
  29. Web site: Monty . Theora: Ptalarbvorm project update 20100518 . 1 July 2010 . 18 May 2010 .
  30. Web site: McLean . Prince . Ogg Theora, H.264 and the HTML 5 Browser Squabble . AppleInsider . 7 July 2009 . 1 November 2020.
  31. Web site: Larabel . Michael . 2023-10-29 . Google Chrome To Remove Theora Video Codec Support . 2023-11-01 . Phoronix . en.
  32. Web site: Intent to Ship: Deprecate and remove Theora support. . 2023-11-01 . groups.google.com.
  33. Web site: . MPEG-4 Codec shoot-out 2002 – 1st installment . 2002 . 19 December 2007 . dead . https://web.archive.org/web/20080223010804/http://www.doom9.org/codec-comparisons.htm . 23 February 2008 .
  34. Web site: . Eugenia . Loli-Queru . Theora vs. h.264 . 12 December 2007 . 1 April 2008 .
  35. Web site: Halbach, Till . Dirac and Theora vs. H.264 and Motion JPEG2000 . March 2009 . 22 April 2008 . dead . https://archive.today/20120707194336/http://etill.net/projects/dirac_theora_evaluation/ . 7 July 2012 .
  36. Web site: Montgomery . Chris . Theora "the push for 1.0" update . 19 December 2007.
  37. Web site: Blizzard . Christopher . Theora Update 7 May 2009 . 10 May 2009.
  38. DiBona . Chris . H.264-in-<video> vs plugin APIs . whatwg . 13 June 2009 . 10 August 2009.
  39. Web site: Maxwell . Greg . YouTube / Ogg/Theora comparison . Xiph.Org Foundation . 13 June 2009 . 10 August 2009 . 9 July 2009 . https://web.archive.org/web/20090709062345/http://people.xiph.org//~greg//video//ytcompare//comparison.html . dead .
  40. Web site: Merten . Maik . Another online-video comparison . Xiph.Org Foundation . 15 June 2009 . 10 August 2009 . 9 July 2009 . https://web.archive.org/web/20090709062338/http://people.xiph.org//~maikmerten//youtube// . dead .
  41. Web site: Richmond . Gary . Firefogg: Transcoding videos to open web standards with Mozilla Firefox . 2 November 2023.
  42. Web site: Xiph Subversion repository: trunk/theora-fpga . Xiph.Org Foundation . 10 August 2009 .
  43. Web site: XiphWiki: Theora Hardware . 10 August 2009 . Xiph.Org Foundation .
  44. Web site: Mozilla Eyes Removal Of Theora Support In Firefox . 2023-11-01 . www.phoronix.com . en.
  45. Web site: 1860492 – Investigate removing Theora support . 2023-11-01 . bugzilla.mozilla.org . en.
  46. Web site: Larabel . Michael . 2023-12-07 . Chrome 120 Released With Theora Support Evaporating, Adds WebGPU & CSS Improvements . 2023-12-09 . www.phoronix.com . en.
  47. Web site: Deprecate and remove Theora support. – Chrome Platform Status . 2023-10-24 . chromestatus.com.
  48. Web site: (re-)Introducing <video> – Official blog for Core developers at Opera . Jägenstedt . Philip . Opera . 31 December 2009 . 2 January 2010. https://web.archive.org/web/20100104205648/http://my.opera.com/core/blog/2009/12/31/re-introducing-video. 4 January 2010.
  49. Web site: Happy New Year! – Official blog for Core developers at Opera . Arjan van Leeuwen . Opera . 31 December 2009 . 2 January 2010. https://web.archive.org/web/20100104201911/http://my.opera.com/desktopteam/blog/happy-new-year. 4 January 2010.
  50. Web site: ffmpeg2theora. v2v.cc. 2 June 2009. 11 March 2008. https://web.archive.org/web/20080311021714/http://v2v.cc/~j/ffmpeg2theora/. dead.
  51. Web site: ffdshow Summary . 23 October 2009.
  52. Theora support in ffdshow a ffvfw . 4 October 2002 . theora-dev . Cutka . Milan.
  53. Web site: Theora in .ogg no only .avi – ffdshow tryouts Forum . 15 January 2008 . 23 October 2009.
  54. Web site: GStreamer Base Plugins 0.10 (0.10.24.1) . gstreamer.freedesktop.org . 23 October 2009.
  55. Web site: GStreamer Base Plugins 0.10 Plugins Reference Manual – Theora plugin library . gstreamer.freedesktop.org . 23 October 2009.
  56. Web site: Ogg Video Tools - Browse Files at SourceForge.net . 2022-11-06 . sourceforge.net.