Share on Facebook Share on Twitter Email
Answers.com

Theora

 
Wikipedia: Theora
Theora
Filename extension .ogv
Internet media type video/ogg
Developed by Xiph.org
Initial release June 1, 2004 (2004-06-01)[1]
Latest release Theora I / 2009-08-05[2]
Type of format Video compression format
Contained by Ogg
Extended from VP3
Standard(s) Specification
libtheora
Developer(s) Xiph.org
Initial release November 3, 2008 (2008-11-03) (1.0)
Stable release 1.1.1 / 2009-10-01; 36 days ago[3]
Written in C
Operating system Unix-like (incl Linux, Mac OS X), Windows
Development status Active
Type Video codec, reference implementation
License 3-clause BSD
Website theora.org

Theora is a royalty-free, open standard, lossy video compression technology being developed by the Xiph.Org Foundation alongside their other open media efforts, most notably the Vorbis audio codec and the Ogg container.

libtheora is a reference implementation of the Theora video compression format being developed by the Xiph.Org Foundation.[4][5]

Theora is derived from the proprietary VP3 codec, released into the public domain by On2 Technologies. It is broadly comparable firstly in design and bitrate efficiency to MPEG-4 Part 2, early versions of Windows Media Video, and RealVideo, and secondly in open standards philosophy to the BBC's Dirac codec.

Theora is named for Theora Jones, Edison Carter's Controller on the Max Headroom television program.[6]

Contents

Technical details

Theora is a variable-bitrate, DCT-based video compression scheme. Like most common video codecs, Theora also uses chroma subsampling, block based motion compensation and an 8 by 8 DCT block. It supports intra-coded frames and forward predictive frames, but not bi-predictive frames which are found in H.264 and VC-1. Theora also does not currently support interlacing, variable frame rates, or bit-depths larger than 8 bits per component.[2]

Theora video streams can be stored in any suitable container format. Most commonly it is found in the Ogg container with Vorbis audio streams which provides a completely open, royalty-free multimedia format, but can also be used with the Matroska container.[7]

Theora video compression format is essentially compatible with the VP3 video compression format, consisting of a backward-compatible superset.[8][9] Theora is a superset of VP3 and VP3 streams (with some minor syntactic modifications) can be changed into Theora streams without recompression (but not vice versa).[9] VP3 video compression can be decoded using Theora implementations, but Theora video compression usually cannot be decoded using old VP3 implementations.

History

VP3 was originally a proprietary and patented video codec developed by On2 Technologies. On2 TrueMotion VP3.1 was introduced in May 2000 followed three months later by the VP3.2 release.[10][11] Later that year, On2 announced VP3 plugins for QuickTime and RealPlayer.[12][13] In May 2001, On2 released the beta version of its new VP4 proprietary codec.[14][15] In June 2001, On2 also released a VP3 codec implementation for Microsoft Windows[16] where the encoder was priced at $39.95 for personal use, and $2,995 for limited commercial use.[17] In August 2001, On2 Technologies announced that they will be releasing an open source version of their VP3.2 video compression algorithm.[18][19] In September 2001 they published the source code and open source license for VP3.2 video compression algorithm at www.vp3.com.[20][21][22][23][24] The VP3.2 Public License 0.1 granted the right to modify the source code only if the resulting larger work continued to support playback of VP3.2 data.[25][20][21] In March 2002, On2 altered licensing terms required to download the source code for VP3 to LGPL.[26] In June 2002 On2 donated VP3 to the Xiph.Org Foundation under a BSD-like open source license.[27][28][29] 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.[30][8] 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.[31] On2 declared Theora to be the successor in VP3's lineage. On October 3, 2002 On2 and Xiph announced the completion and availability of the initial Alpha code release of Theora (libtheora).[32] The libtheora reference implementation has reached its alpha 2 milestone on June 9, 2003[33] and alpha 3 on March 20, 2004.[34]

There is no formal specification for the VP3 bitstream format beyond the VP3 source code published by On2 Technologies. In 2003, Mike Melanson created an uncomplete 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.[35][2]

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.[1][36] 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.[37] Any later changes in the specification are minor updates.

The Theora reference implementation libtheora spent several years in alpha and beta status.[36] The last alpha version was libtheora 1.0alpha7 released on June 20, 2006. It was followed by libtheora 1.0 beta1 on September 22, 2007. The last beta version was libtheora 1.0 beta3 released on April 16, 2008.[36] The first stable release of libtheora as version 1.0 was made in November 2008.[38][39] Work then focused on improving the codec performance in the "Thusnelda" branch, which was released as version 1.1 in September 2009 as the second stable libtheora release.[40][36] This release brought some technical improvements and new features, e.g. the new rate control module and the new two-pass rate control.

Theora is well established as a video format in open source applications and as the video format of choice for Wikipedia's video content. However, the proposed adoption of Theora as part of the baseline video support in HTML5 resulted in controversy.

Performance

Encoding performance

Evaluations of the VP3[41] and early Theora encoders[42] [43] [44] found their subjective visual quality was inferior to contemporary video codecs. More recently however, Xiph developers have compared the 1.1 Theora encoder to YouTube's H.264 and H.263+ encoders, in response to concerns about Theora's inferior performance from Chris DiBona, a Google employee.[45] 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.[46][47]

The performance characteristics of the Theora 1.0 reference implementation are dominated mostly by implementation issues inherited from the original VP3 code base.[48] Work leading up to the 1.1 stable release was focused on improving on or eliminating these implementation problems. A May 2009 review of this work shows a considerable improvement in quality, both subjectively and as measured by PSNR, just by improving the forward DCT and quantisation matrices.[49] A flaw in the version of FFmpeg used in the test initially led to incorrect reports of Theora PSNR surpassing that of H.264. Although not achieving this goal, the improvement in the measured PSNR and the perceived quality is considerable. Further work on adaptive quantization, as well as overall detailed subjective tuning of the codec, is still to come.

Playback performance

There is an open source VHDL code base for a hardware Theora decoder in development.[50] It began as a 2006 Google Summer of Code project, and it has been developed on both the Nios II and LEON processors.[51] However there are currently no Theora decoder chips in production, and iPods and similar devices with limited computing power rely on such chips to provide efficient playback. However since decoding Theora is less CPU intensive than decoding H.264, hardware acceleration may not be necessary in all devices.

Playback

Embedded in HTML 5

As originally recommended by HTML 5, these browsers support Theora when embedded by the video element:

Browser plugins

Supporting media frameworks

Supporting applications

Encoding

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

Description Operating Systems Supported
  Linux Mac OS X Windows
Firefogg is a Firefox browser extension version of ffmpeg2theora. It enables in browser transcoding of many video formats. Encoding settings are provided by the web service, transcoding happens on the clients computer then an "upload in chunks" api enables reusable transfers of the video to the web server. Yes Yes Yes
ffmpeg2theora uses FFmpeg to decode video and libtheora to encode it. This is currently the most functional Theora encoder, and can be used for both creating stand-alone video files and to produce streaming video. Yes Yes Yes
VLC is able to encode Theora video from any of the video sources it supports, and also stream it. Yes Yes Yes
OggConvert (open source) Yes   Almost
FreeJ ('Video DJ', open source) can encode and stream Theora. Video comes from one or more different video or image files/sources while audio is encoded from the soundcard. Yes Yes  
PiTiVi (the GNOME video editor). Yes    
Super (freeware).     Yes
LiVES (open source video editing software). Yes Yes  
Thoggen (a GTK+ and GStreamer based DVD-backup utility). Yes    
HandBrake Yes Yes Yes
KungFu DVD Ripper Yes    
Recordmydesktop (records an Ogg Theora video of the screen, optional Vorbis audio). Yes    

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

Also, several media frameworks have support for Theora.

  • The open-source ffdshow audio/video decoder is capable of encoding Theora videos using its Video for Windows (VFW) multi-codec interface within popular AVI editing programs[59][60][61] such as VirtualDub.[citation needed] 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 aren't available to the user in ffdshow's interface.
  • The GStreamer framework has support for parsing raw Theora streams, encoding and decoding raw Theora streams to/from YUV video[62][63]

Editing

Description Operating Systems Supported
  Linux Mac OS X Windows
PiTiVi (the GNOME video editor). Yes    
CVS versions of the Cinelerra non-linear video editing system support Theora, as of August 2005. Yes Yes  

Streaming

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

Description Operating Systems Supported
  Linux Mac OS X Windows
VLC Yes Yes Yes
Icecast Yes  ? Yes
FreeCast, a Java peer-to-peer streaming solution Yes  ? Yes
Flumotion streaming media server Yes    

Theora Streaming Studio is a complete client to connect to an Icecast server.

See also

References

  1. ^ a b c Giles, Ralph (2004-06-01). "Theora I bitstream freeze". theora-dev mailing list. http://lists.xiph.org/pipermail/theora-dev/2004-June/001112.html. Retrieved 2009-09-25. 
  2. ^ a b c d (PDF) Theora Specification, Xiph.Org Foundation, 2009-08-05, http://theora.org/doc/Theora.pdf, retrieved 2009-09-25 
  3. ^ "Theora 1.1.1 release". Xiph.Org Foundation. http://www.theora.org/news/#libtheora-1.1.1. Retrieved 2009-10-06. 
  4. ^ Xiph.Org Foundation. "libtheora Documentation 1.1.0". Xiph.Org Foundation. http://theora.org/doc/libtheora-1.1/. Retrieved 2009-09-25. 
  5. ^ ohloh. "libtheora". ohloh. http://www.ohloh.net/p/libtheora. Retrieved 2009-09-25. 
  6. ^ "Theora FAQ". Xiph.Org Foundation. http://theora.org/faq/#15. Retrieved 2009-08-06. 
  7. ^ "Matroska Codec Specs". Matroska. http://www.matroska.org/technical/specs/codecid/index.html. Retrieved 2009-08-06. 
  8. ^ a b Xiph.org libtheora license (Subversion - Trunk), Retrieved on 2009-08-16
  9. ^ a b Xiph.org FAQ - Theora and VP3, Retrieved 2009-09-02
  10. ^ On2 (2000-08-16). "On2 Introduces TrueMotion VP3.2". Press release. http://www.on2.com/index.php?id=486&news_id=401. Retrieved 2009-08-11. 
  11. ^ On2 (2000-05-17). "On2.com Launches Next Generation of Revolutionary Broadband Video Technology". Press release. http://www.on2.com/index.php?id=486&news_id=407. Retrieved 2009-08-11. 
  12. ^ On2 (2000-10-10). "On2's VP3 Codec Available Via QuickTime 5's Component Download Feature". Press release. http://www.on2.com/index.php?id=486&news_id=397. Retrieved 2009-08-18. 
  13. ^ On2 (2000-10-23). "On2 Plug-In for RealNetworks Server to be Distributed on Akamai Network". Press release. http://www.on2.com/index.php?id=486&news_id=396. Retrieved 2009-08-18. 
  14. ^ On2 (2001-05-18). "On2 to Debut VP4 for the Web, Part of New Website Launch". Press release. http://www.on2.com/index.php?id=486&news_id=376. Retrieved 2009-08-16. 
  15. ^ On2 (2001-06-20). "On2 Posts Production Release of VP4 Codec". Press release. http://www.on2.com/index.php?id=486&news_id=372. Retrieved 2009-08-16. 
  16. ^ On2 (2001-05-15). "On2 Technologies Announces Global Release of VP3 for Windows". Press release. http://www.on2.com/index.php?id=486&news_id=377. Retrieved 2009-08-18. 
  17. ^ The Free Library (2001-06-27) VP3 for Windows Now Available for License At On2.com., Retrieved on 2009-08-18
  18. ^ On2 (2001-08-07) On2 Technologies to Open Source VP3.2 Video Compression Technology, Retrieved on 2009-08-16
  19. ^ CNET News (2001-08-07) On2's video codec to go open-source, Retrieved on 2009-08-16
  20. ^ a b On2 Technologies (2001), VP3.2 Public License 0.1, Archive.org, http://web.archive.org/web/20011026032511/http://vp3.com/license/vp32_opensource_license_9-6-01.txt, retrieved 2009-09-22 
  21. ^ a b On2 Technologies (2001), VP3.2 Public License 0.1, Xiph.Org Foundation, http://trac.xiph.org/browser/branches/vp32/vp32/VP32_license.txt, retrieved 2008-02-10 
  22. ^ StreamingMedia.com (2001-09-07) On2 Offers Up VP3.2 Source Code, Retrieved on 2009-08-16
  23. ^ On2 (2001-09-07) On2 Technologies Makes Video Compression Technology Available to Open-Source Community, Retrieved on 2009-08-16
  24. ^ Linux.com (2001-09-06) On2 Technologies Open-Sources VP3 video compression code, Retrieved on 2009-08-16
  25. ^ lists.xiph.org (2001-09-09) Vorbis mailing list - VP3.2 video codec open sourced, Retrieved on 2009-08-16
  26. ^ The Free Library (2002-03-28) On2 Alters Licensing Terms for VP3; Company Responds to Open Source Community Demands., Retrieved on 2009-08-16
  27. ^ On2 (2002-06-24) VP3 Combines with Vorbis to Create First Open-Source Multimedia Platform, Retrieved on 2009-08-16
  28. ^ Linux.com (2002-06-23) Ogg Vorbis, VP3 combining forces to create Open Source multimedia package, Retrieved on 2009-08-16
  29. ^ InternetNews.com (2002-06-24) On2 Throws More Open-Source at MPEG-4, Retrieved on 2009-08-16
  30. ^ Xiph.org VP32 codec license (Subversion - Trunk), Retrieved on 2009-08-16
  31. ^ The Free Library (2002-08-01) On2 Signs Pact With Xiph.org to Develop/Support VP3, Retrieved on 2009-08-16
  32. ^ On2 (2002-10-03) On2 and Xiph Announce Alpha Code Release of Theora, VP3-Vorbis-Based Multimedia Solution, Retrieved on 2009-08-16
  33. ^ Giles, Ralph (2003-06-09). "libtheora alpha 2 release". theora-dev mailing list. http://lists.xiph.org/pipermail/theora-dev/2003-June/000623.html. Retrieved 2009-09-26. 
  34. ^ Giles, Ralph (2004-03-19). "libtheora alpha 3 release". theora-dev mailing list. http://lists.xiph.org/pipermail/theora-dev/2004-March/000950.html. Retrieved 2009-09-26. 
  35. ^ Mike Melanson (mike at multimedia.cx) (2004-12-08), VP3 Bitstream Format and Decoding Process, Multimedia.cx, http://www.multimedia.cx/vp3-format.txt, retrieved 2009-09-27 
  36. ^ a b c d Xiph.Org Foundation (2009-09-24), Theora.org : news, Xiph.Org Foundation, http://theora.org/news/, retrieved 2009-09-25 
  37. ^ (PDF) Theora I Specification, Xiph.org Foundation, September 17, 2004, Archive.org, 2004-09-17, http://web.archive.org/web/20040928224506/http://www.theora.org/doc/Theora_I_spec.pdf, retrieved 2009-09-26 
  38. ^ Giles, Ralph (2008-11-03). "Theora 1.0 final release!". theora-dev mailing list. http://lists.xiph.org/pipermail/theora-dev/2008-November/003736.html. Retrieved 2008-11-04. 
  39. ^ Xiph.Org Foundation (2008-11-03). "The Xiph.Org Foundation announces the release of Theora 1.0". Press release. http://www.xiph.org/press/2008/theora-release-1.0/. Retrieved 2009-08-06. 
  40. ^ Giles, Ralph (2009-09-24). "libtheora 1.1 (Thusnelda) stable release". theora-dev mailing list. http://lists.xiph.org/pipermail/theora-dev/2009-September/003985.html. Retrieved 2009-09-24. 
  41. ^ "MPEG-4 Codec shoot-out 2002 - 1st installment". Doom9. 2002. http://www.doom9.org/codec-comparisons.htm. Retrieved 2007-12-19. 
  42. ^ Codec shoot-out 2005 - Qualification, Doom9, 2005, http://www.doom9.org/codecs-quali-105-3.htm, retrieved 2007-12-19 
  43. ^ Loli-Queru, Eugenia (2007-12-12). "Theora vs. h.264". OSNews. http://www.osnews.com/story/19019/Theora-vs-h.264/. Retrieved 2008-04-01. 
  44. ^ Halbach, Till (March 2009). "Dirac and Theora vs. H.264 and Motion JPEG2000". http://etill.net/projects/dirac_theora_evaluation/. Retrieved 2008-04-22. 
  45. ^ DiBona, Chris (2009-06-13). "H.264-in-<video> vs plugin APIs". whatwg mailing list. http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020380.html. Retrieved 2009-08-10. 
  46. ^ Maxwell, Greg (2009-06-13). "YouTube / Ogg/Theora comparison". Xiph.Org Foundation. http://people.xiph.org/~greg/video/ytcompare/comparison.html. Retrieved 2009-08-10. 
  47. ^ Maik, Merten (2009-06-15). "Another online-video comparison". Xiph.Org Foundation. http://people.xiph.org/~maikmerten/youtube/. Retrieved 2009-08-10. 
  48. ^ Montgomery, Chris. "Theora "the push for 1.0" update". http://web.mit.edu/xiphmont/Public/theora/demo.html. Retrieved 2007-12-19. 
  49. ^ Montgomery, Chris. "Theora Update 7 May 2009". http://web.mit.edu/xiphmont/Public/theora/demo7.html. Retrieved 2009-05-10. 
  50. ^ "Xiph Subversion repository: trunk/theora-fpga". Xiph.Org Foundation. http://svn.xiph.org/trunk/theora-fpga/. 
  51. ^ "XiphWiki: Theora Hardware". Xiph.Org Foundation. http://wiki.xiph.org/Theora_Hardware. Retrieved 2009-08-10. 
  52. ^ MozillaWiki (2009-03-18), Firefox3.5/Features, MozillaWiki, https://wiki.mozilla.org/Firefox3.5/Features, retrieved 2009-10-11 
  53. ^ Mozilla Corporation (2009-06-30), Mozilla Firefox 3.5 Release Notes, Mozilla Corporation, http://www.mozilla.com/en-US/firefox/3.5/releasenotes/, retrieved 2009-10-11 
  54. ^ Google Chrome to support HTML 5 video, SoftSailor, 2009-05-28, http://www.softsailor.com/news/3787-3787.html, retrieved 2009-10-11 
  55. ^ Stephen Shankland (2009-05-28), Google Chrome gets HTML video support, cnet news, http://news.cnet.com/8301-17939_109-10250958-2.html, retrieved 2009-10-11 
  56. ^ Robert Kaiser (2009-09-16), What's New in SeaMonkey 2.0 Beta 2, seamonkey-project.org, http://www.seamonkey-project.org/releases/seamonkey2.0b2/changes, retrieved 2009-10-11 
  57. ^ Experimental Opera-video build with native Ogg Theora support, Opera, 2007-04-25, http://my.opera.com/ResearchWizard/blog/experimental-opera-video-build-with-native-ogg-theora-support, retrieved 2009-10-11 
  58. ^ A call for video on the web - Opera <video> release on Labs, Opera, 2007-11-07, http://dev.opera.com/articles/view/a-call-for-video-on-the-web-opera-vid/, retrieved 2009-10-11 
  59. ^ "ffdshow Summary". http://sourceforge.net/projects/ffdshow-tryout/. Retrieved 2009-10-23. 
  60. ^ Cutka, Milan (2002-10-04). "Theora support in ffdshow a ffvfw". theora-dev mailing list. http://lists.xiph.org/pipermail/theora-dev/2002-October/001329.html. 
  61. ^ "Theora in .ogg no only .avi - ffdshow tryouts Forum". 2008-01-15. http://ffdshow-tryout.sourceforge.net/phpBB2/viewtopic.php?p=2459&sid=6a8a488dd3aebb9e35764e950de65d60. Retrieved 2009-10-23. 
  62. ^ gstreamer.freedesktop.org. "GStreamer Base Plugins 0.10 (0.10.24.1)". http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/. Retrieved 2009-10-23. 
  63. ^ gstreamer.freedesktop.org. "GStreamer Base Plugins 0.10 Plugins Reference Manual - Theora plugin library". http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-plugin-theora.html. Retrieved 2009-10-23. 

External links


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
 
 
Learn More
Four Women Artists (1977 Visual Arts Film)
Ogg Vorbis (technology)
Gravity Suite in Seven Parts (2000 Album by Brahvar Large Ensemble)

Is Theora Stephens the inventor of the curling iron? Read answer...

Help us answer these
Where was theora stephans born?
Where was Theora Stephens born?
Pictures of theora stephens?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Theora" Read more