Jump to content

Theora

From Wikipedia, the free encyclopedia

Theora
Filename extension
.ogv,.ogg
Internet media type
video/ogg
Developed byXiph.org
Initial release1 June 2004(2004-06-01)[1]
Latest release
Theora I
16 March 2011[2]
Type of formatVideo coding format
Contained byOgg,Matroska
Extended fromVP3
StandardSpecification
Open format?Yes[3]
Free format?Yes[4]
Websitetheora.org
libtheora
Developer(s)Xiph.org
Initial release3 November 2008(2008-11-03)(1.0)
Stable release
1.1.1 / 1 October 2009;14 years ago(2009-10-01)[5]
Preview release
1.2.0 Alpha 1 / 24 September 2010;14 years ago(2010-09-24)[6]
Written inC
Operating systemUnix-like(inclLinux,Mac OS X),Windows
TypeVideo codec,reference implementation
License3-clause BSD
Websitewww.theora.org

Theorais afreelossyvideo compression format.[7]It was developed by theXiph.Org Foundationand distributed without licensing fees alongside their other free and open media projects, including theVorbisaudio format and theOggcontainer.

Thelibtheoravideo codecis thereference implementationof the Theora video compression format developed by the Xiph.Org Foundation.[8][9]

Theora was derived from the formerlyproprietaryVP3codec, released into thepublic domainbyOn2 Technologies.It is broadly comparable in design and bitrate efficiency toMPEG-4 Part 2,early versions ofWindows Media Video,andRealVideowhile it lacked some of the features present in some of these other codecs. It is comparable in open standards philosophy to theBBC'sDiraccodec.

Theora was named afterTheora Jones,Edison Carter's Controller on theMax Headroomtelevision program.[10]

Technical details

[edit]

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 frameswhich are found inH.264andVC-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 theOggcontainer withVorbisorFLACaudio streams. This combination provided a completely open, royalty-free multimedia format. It can also be used with theMatroskacontainer.[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.

History

[edit]

Theora's predecessorOn2 TrueMotion VP3was originally aproprietaryand patent-encumberedvideo codecdeveloped 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.

Move to free software

[edit]

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 codeof 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-freelicense 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 formatbeyond 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]

Theora I specification

[edit]
Example of a Theora video used onWikipedia,showing aPolikarpov I-15biplane at an aerobatic display.

The Theora I bitstream format wasfrozenin 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 Specificationwas completely published in 2004.[33]Any later changes in the specification are minor updates.

The Theora reference implementation libtheora spent several years inalphaand 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]

Legacy

[edit]

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]

Performance

[edit]

Encoding performance

[edit]

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 forwardDCTand 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,aGoogleemployee.[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]

Playback performance

[edit]

There was anopen-sourceVHDLcode base for a hardware Theora decoder in development.[52][needs update]It began as a 2006GoogleSummer of Codeproject, and it has been developed on both theNios IIandLEONprocessors.[53]However, there are currently no Theora decoder chips in production, andportable media players,smartphonesand similar devices with limited computing power rely on such chips to provide efficient playback.

Playback

[edit]

Web browsers

[edit]

As originally recommended byHTML 5,these browsers support Theora when embedded by thevideoelement:

Supporting media frameworks

[edit]

Supporting applications

[edit]

Encoding

[edit]

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

Name Description Operating Systems Supported
Unix-like OS X Windows
ffmpeg2theora[71]
A command-line program that transcodes video by decoding withFFmpegand reencoding with libtheora to encode it Yes Yes Yes
VLC
Can transcode to single-pass Theora 1.0 and optionally stream it Yes Yes Yes
FreeJ
"Video DJing" software that can encode to and stream Theora Yes Yes ?
Kdenlive
The video editor supplied withKDE Yes ? ?
Pitivi
The video editor supplied withGNOME Yes ? ?
LiVES
Video editing software for Linux. Can edit, encode and stream theora. Yes Yes ?
HandBrake
Can output to Theora only with theMatroskacontainer Yes Yes Yes
RecordMyDesktop
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.

  • The open-sourceffdshowaudio/video decoder is capable of encoding Theora videos using itsVideo for Windows(VFW) multi-codec interface within popular AVI editing programs.[72][73][74]It supports both encoding and decoding Theora video streams and uses Theora's alpha 4 libraries. However, many of the more refined features of Theora are not available to the user in ffdshow's interface.
  • TheGStreamerframework has support for parsing raw Theora streams, encoding and decoding raw Theora streams to/from YUV video[75][76]

Editing

[edit]
Name Description Operating Systems Supported
Unix-like OS X Windows
LiVES
Video editing software for Linux. Can edit, encode and stream theora. Yes Yes ?
Kdenlive
TheKDEvideo editor. Yes ? ?
OpenShot
Yes ? ?
Pitivi
TheGNOMEvideo editor. Yes ? ?
Cinelerra
CVSversions of theCinelerranon-linear video editing systemsupport Theora, as of August 2005. Yes Yes ?
oggz-tools byXiph.org
Command line programs to examine and edit Ogg files. Yes ? Yes
Ogg Video Tools by yornstreamnik
Tools to resize, cut, split, join, and others[77] Yes Yes Yes
AVS Video Editor
? ? Yes

Streaming

[edit]

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

Name Description Operating Systems Supported
Unix-like OS X Windows
VLC
Yes Yes Yes
Icecast
Yes ? Yes
LiVES
Can stream ogg/theora/vorbis in realtime to a file or fifo. Yes Yes ?

Makers

[edit]

Elphelis the main maker of cameras that record in theora.

See also

[edit]

References

[edit]
  1. ^abcGiles, Ralph (1 June 2004)."Theora I bitstream freeze".theora-dev(Mailing list).Retrieved25 September2009.
  2. ^abcd"Theora Specification"(PDF).Xiph.Org Foundation. 16 March 2011.Retrieved31 January2012.
  3. ^"PlayOgg! – FSF – Free Software Foundation".17 March 2010.Retrieved1 October2013.
  4. ^"Theora FAQ".Xiph.org.2016. Archived fromthe originalon 26 September 2020.Retrieved1 December2021.
  5. ^"Theora 1.1.1 release".Xiph.Org Foundation.Retrieved6 October2009.
  6. ^"libtheora 1.2.0alpha1 release".Xiph.Org Foundation. September 2010.Retrieved10 October2010.
  7. ^Theora.
  8. ^Xiph.Org Foundation."libtheora Documentation 1.1.0".Xiph.Org Foundation.Retrieved25 September2009.
  9. ^ohloh."libtheora".ohloh.Archived fromthe originalon 10 October 2010.Retrieved25 September2009.
  10. ^"Theora FAQ".Xiph.Org Foundation.Retrieved6 August2009.
  11. ^"Matroska Codec Specs".Matroska.Retrieved6 August2009.
  12. ^abXiph.orglibtheora license (Subversion – Trunk),Retrieved on 16 August 2009
  13. ^abXiph.orgFAQ – Theora and VP3.Retrieved 2 September 2009
  14. ^On2 (17 May 2000),On2.com Launches Next Generation of Revolutionary Broadband Video Technology,archived fromthe originalon 3 December 2007{{citation}}:CS1 maint: numeric names: authors list (link)
  15. ^On2 (16 August 2000),On2 Introduces TrueMotion VP3.2,archived fromthe originalon 3 December 2007,retrieved23 August2010{{citation}}:CS1 maint: numeric names: authors list (link)
  16. ^On2 (7 August 2001),On2 Technologies to Open Source VP3.2 Video Compression Technology (archived website),archived fromthe originalon 3 December 2007{{citation}}:CS1 maint: numeric names: authors list (link)
  17. ^Mariano, Gwendolyn (7 August 2001)."On2's video codec to go open-source".CNET.
  18. ^abOn2 Technologies (2001),VP3.2 Public License 0.1,Xiph.Org Foundation, archived fromthe originalon 4 April 2016,retrieved10 February2008{{citation}}:CS1 maint: numeric names: authors list (link)
  19. ^Bernat, Bill (7 September 2001)."On2 Offers Up VP3.2 Source Code".StreamingMedia.com.
  20. ^On2 (7 September 2001),On2 Technologies Makes Video Compression Technology Available to Open-Source Community,archived fromthe originalon 7 December 2007{{citation}}:CS1 maint: numeric names: authors list (link)
  21. ^Seibert, Stan (September 2001)."VP3.2 video codec open sourced".vorbis(Mailing list).
  22. ^"On2 Alters Licensing Terms for VP3; Company Responds to Open Source Community Demands"(Press release). On2 Technologies. 28 March 2002. Archived fromthe originalon 4 December 2010.Retrieved16 August2009.
  23. ^Xiph.Org Foundation (16 March 2011)."Theora Specification"(PDF).Xiph.Org Foundation. p. 1.
  24. ^"VP3 Combines with Vorbis to Create First Open-Source Multimedia Platform",On2,24 June 2002, archived fromthe originalon 3 December 2007
  25. ^Linux.com (23 June 2002)Ogg Vorbis, VP3 combining forces to create Open Source multimedia package,Retrieved on 2009-08-16
  26. ^InternetNews.com (24 June 2002)On2 Throws More Open-Source at MPEG-4,Retrieved on 16 August 2009
  27. ^Xiph.orgVP32 codec license (Subversion – Trunk),Retrieved on 16 August 2009
  28. ^The Free Library (1 August 2002)On2 Signs Pact With Xiph.org to Develop/Support VP3,Retrieved on 16 August 2009
  29. ^On2 (3 October 2002),On2 and Xiph Announce Alpha Code Release of Theora, VP3-Vorbis-Based Multimedia Solution,archived fromthe originalon 4 December 2007{{citation}}:CS1 maint: numeric names: authors list (link)
  30. ^Mike Melanson (mike at multimedia.cx) (8 December 2004),VP3 Bitstream Format and Decoding Process,Multimedia.cx, archived fromthe originalon 6 January 2013,retrieved27 September2009
  31. ^Stephen Shankland (1 September 2015)."Tech giants join forces to hasten high-quality online video".CNET.Retrieved17 March2021.
  32. ^abcXiph.Org Foundation (24 September 2009),Theora.org: news,Xiph.Org Foundation,retrieved25 September2009
  33. ^Xiph.Org Foundation (17 September 2004)."Theora I Specification, Xiph.org Foundation, September 17, 2004"(PDF).Archived fromthe original(PDF)on 28 September 2004.Retrieved26 September2009.
  34. ^"CHANGES file".Retrieved31 December2022.
  35. ^Giles, Ralph (3 November 2008)."Theora 1.0 final release!".theora-dev(Mailing list).Retrieved4 November2008.
  36. ^"The Xiph.Org Foundation announces the release of Theora 1.0"(Press release). Xiph.Org Foundation. 3 November 2008.Retrieved6 August2009.
  37. ^Giles, Ralph (24 September 2009)."libtheora 1.1 (Thusnelda) stable release".theora-dev(Mailing list).Retrieved24 September2009.
  38. ^Monty (18 May 2010)."Theora: Ptalarbvorm project update 20100518".Retrieved1 July2010.
  39. ^McLean, Prince (7 July 2009)."Ogg Theora, H.264 and the HTML 5 Browser Squabble".AppleInsider.Retrieved1 November2020.
  40. ^Larabel, Michael (29 October 2023)."Google Chrome To Remove Theora Video Codec Support".Phoronix.Retrieved1 November2023.
  41. ^"Intent to Ship: Deprecate and remove Theora support".groups.google.com.Retrieved1 November2023.
  42. ^"MPEG-4 Codec shoot-out 2002 – 1st installment".Doom9.2002. Archived fromthe originalon 23 February 2008.Retrieved19 December2007.
  43. ^Codec shoot-out 2005 – Qualification,Doom9,2005, archived fromthe originalon 31 December 2007,retrieved19 December2007
  44. ^Loli-Queru, Eugenia (12 December 2007)."Theora vs. h.264".OSNews.Retrieved1 April2008.
  45. ^Halbach, Till (March 2009)."Dirac and Theora vs. H.264 and Motion JPEG2000".Archived fromthe originalon 7 July 2012.Retrieved22 April2008.
  46. ^Montgomery, Chris."Theora" the push for 1.0 "update".Retrieved19 December2007.
  47. ^Blizzard, Christopher."Theora Update 7 May 2009".Retrieved10 May2009.
  48. ^DiBona, Chris (13 June 2009)."H.264-in-<video> vs plugin APIs".whatwg(Mailing list).Retrieved10 August2009.
  49. ^Maxwell, Greg (13 June 2009)."YouTube / Ogg/Theora comparison".Xiph.Org Foundation. Archived fromthe originalon 9 July 2009.Retrieved10 August2009.
  50. ^Merten, Maik (15 June 2009)."Another online-video comparison".Xiph.Org Foundation. Archived fromthe originalon 9 July 2009.Retrieved10 August2009.
  51. ^Richmond, Gary."Firefogg: Transcoding videos to open web standards with Mozilla Firefox".Retrieved2 November2023.
  52. ^"Xiph Subversion repository: trunk/theora-fpga".Xiph.Org Foundation.Retrieved10 August2009.
  53. ^"XiphWiki: Theora Hardware".Xiph.Org Foundation.Retrieved10 August2009.
  54. ^MozillaWiki (18 March 2009),Firefox3.5/Features,MozillaWiki,retrieved11 October2009
  55. ^Mozilla Corporation (30 June 2009),Mozilla Firefox 3.5 Release Notes,Mozilla Corporation,retrieved11 October2009
  56. ^Mozilla Corporation (9 February 2010),Firefox Mobile Features,Mozilla Corporation,retrieved9 February2010
  57. ^"Mozilla Eyes Removal Of Theora Support In Firefox".www.phoronix.com.Retrieved1 November2023.
  58. ^"1860492 – Investigate removing Theora support".bugzilla.mozilla.org.Retrieved1 November2023.
  59. ^Google Chrome to support HTML 5 video,SoftSailor, 28 May 2009, archived fromthe originalon 3 October 2009,retrieved11 October2009
  60. ^Shankland, Stephen (28 May 2009),Google Chrome gets HTML video support,cnet news,retrieved11 October2009
  61. ^Issue 16657: Ensure FFmpeg binaries end up in snapshots on all platforms,Google Chromium, 14 July 2009,retrieved6 February2010
  62. ^Larabel, Michael (7 December 2023)."Chrome 120 Released With Theora Support Evaporating, Adds WebGPU & CSS Improvements".www.phoronix.com.Retrieved9 December2023.
  63. ^"Deprecate and remove Theora support. – Chrome Platform Status".chromestatus.com.Retrieved24 October2023.
  64. ^Kaiser, Robert (16 September 2009),What's New in SeaMonkey 2.0 Beta 2,seamonkey-project.org,retrieved11 October2009
  65. ^Bugreport: Wish for audio/video element support in Konqueror,13 May 2007, archived fromthe originalon 28 December 2012,retrieved2 December2009
  66. ^Plans for Konqueror 4.4,26 November 2009, archived fromthe originalon 17 July 2011,retrieved2 December2009
  67. ^Jägenstedt, Philip (31 December 2009)."(re-)Introducing <video> – Official blog for Core developers at Opera".Opera. Archived fromthe originalon 4 January 2010.Retrieved2 January2010.
  68. ^Arjan van Leeuwen (31 December 2009)."Happy New Year! – Official blog for Core developers at Opera".Opera. Archived fromthe originalon 4 January 2010.Retrieved2 January2010.
  69. ^Experimental Opera-video build with native Ogg Theora support,Opera, 25 April 2007, archived fromthe originalon 2 December 2007,retrieved11 October2009
  70. ^A call for video on the web – Opera <video> release on Labs,Opera, 7 November 2007,retrieved11 October2009
  71. ^"ffmpeg2theora".v2v.cc.Archived fromthe originalon 11 March 2008.Retrieved2 June2009.
  72. ^"ffdshow Summary".Retrieved23 October2009.
  73. ^Cutka, Milan (4 October 2002)."Theora support in ffdshow a ffvfw".theora-dev(Mailing list).
  74. ^"Theora in.ogg no only.avi – ffdshow tryouts Forum".15 January 2008.Retrieved23 October2009.
  75. ^gstreamer.freedesktop.org."GStreamer Base Plugins 0.10 (0.10.24.1)".Retrieved23 October2009.
  76. ^gstreamer.freedesktop.org."GStreamer Base Plugins 0.10 Plugins Reference Manual – Theora plugin library".Retrieved23 October2009.
  77. ^"Ogg Video Tools - Browse Files at SourceForge.net".sourceforge.net.Retrieved6 November2022.
[edit]