Theora
From Wikipedia, the free encyclopedia
Filename extension | .ogv |
---|---|
Internet media type | video/ogg |
Developed by | Xiph.org |
Type of format | Video codec |
Contained by | Ogg |
Extended from | VP3 |
Standard(s) | Specification |
Developed by | Xiph.org |
---|---|
Latest release | 1.0 / 2008-11-3[1] |
Operating system | Unix-like, Microsoft Windows |
License | 3-clause BSD |
Website | theora.org |
Theora is an open and royalty-free lossy video compression technology being developed by the Xiph.Org Foundation as part of their Ogg project. Based upon On2 Technologies' VP3 codec, Theora competes with MPEG-4, WMV, and similar low-bitrate video compression schemes.
Theora is named for Theora Jones, Edison Carter's Controller on the Max Headroom television program.
Contents |
[edit] Technical details
Theora is a lossy video compression method derived from On2's VP3 Codec. The compressed video can be stored in any suitable container format. Theora video is generally included in Ogg container format and is frequently paired with Vorbis format audio streams.
The combination of the Ogg container format, Theora-encoded video, and Vorbis-encoded audio allows for a completely open, royalty-free multimedia format. Other multimedia formats, such as MPEG-4 video and MP3 audio, are patented and subject to license fees for commercial use. Like many other image and video formats, Theora uses chroma subsampling, block based motion compensation and an 8 by 8 DCT block. This is comparable to MPEG-1/2/4. It supports intra coded frames and forward predictive frames but not bi-predictive frames that can be found in many other video codecs.[2]
[edit] History
VP3 was originally a proprietary and patented video codec developed by On2 Technologies. In September 2001 On2 donated VP3 to the public as free and open source software and disclaimed all rights to it (including their patents on the technology) letting anyone use Theora and other VP3-derived codecs for any purpose.[3] In 2002, On2 entered into an agreement with the Xiph.Org Foundation to make VP3 the basis of a new, free video codec, Theora. On2 declared Theora to be the successor in VP3's lineage.
[edit] Current status
After several years of beta status, Theora released its first stable (1.0) version, in November 2008. However, since the bitstream format was frozen in 2004 (version 1.0alpha3), videos encoded with any version of Theora since that time will continue to be compatible with any future player[4]. Current work is now focused on stabilizing the experimental "Thusnelda" branch for integration into the future 1.1 release[5].
[edit] Performance
Previous evaluations have found VP3[6] and Theora[7][8] inferior compared to contemporary video codecs. In particular, Theora has inferior picture quality and network frame rate control.
[edit] Efforts to improve performance
Sources close to Xiph.org have stated that the performance characteristics of the current Theora reference implementation are mostly dominated by implementation issues inherited from the original VP3 code base. An internal document exists that lists the known implementation problems and gives an example of how improving one aspect of the encoder can lead to visibly improved quality.[9] Current work on Theora is focused on completing the 1.0 release of the reference codec, libtheora; following the 1.0 release, the thusnelda branch will be integrated into the future version 1.1 release.
[edit] Playback
[edit] In-browser playback
- Annodex plugin via OggPlay
- Cortado, a Java based applet
- Itheora, a PHP wrapper for Cortado
- Mv Embed HTML 5 video tag wrapper for numerous plugin types.
- Native browser playback via opera video build or Firefox 3.1 beta. (originally part of HTML 5 standard)
- VLC browser plugin for IE or Firefox
[edit] Supporting media frameworks
- DirectShow with use of DirectShow filters
- GStreamer supported via Theora module, supports GStreamer based applications eg. Totem and Songbird
- QuickTime with use of Xiph QuickTime Components
[edit] Supporting applications
- FFmpeg (own implementation)
- Helix Player
- Miro Media Player (formerly known as Democracy Player)
- MPlayer and front-ends
- Songbird
- VLC (native support)
- xine and all libxine-based players like Kaffeine
... and many more via supported frameworks listed above
[edit] Encoding
The libtheora library contains the reference implementations of both the Theora encoder and decoder. libtheora is still under development by the Xiph.Org Foundation, which has made eight alpha releases and 3 major beta release thus far which include a complete rewrite of the decoder. The library is released under the terms of a BSD-style license.
As of 2008[update], the Xiph.Org Foundation has not developed any stand-alone programs to encode video in Theora (except for the example encoder), but there are several third-party programs that support encoding through libtheora:
Description | Operating Systems Supported | ||
---|---|---|---|
Linux | Mac OS X | Windows | |
firefogg[10] is a firefox browser extension version of ffmpeg2theora. Firefogg 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, although version 0.8 has had some problems with encoding Theora on the Mac OS X release. | Yes | Yes | Yes |
The open-source OggConvert[11] utility can convert virtually all common media formats to Theora. | Yes | Almost | |
The open-source 'Video DJ' program FreeJ 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 | |
The GNOME video editor Diva encodes to Theora. | Yes | ||
The freeware Super program can transcode between Theora and almost any other format. | Yes | ||
The open-source Video Editing program LiVES can also encode to Theora at different quality settings. | Yes | Yes | |
There is also currently a beta-version of Thoggen[12] for Linux, a GTK+ and GStreamer based DVD-backup utility, which encodes to Vorbis and Theora. | Yes | ||
KungFu DVD Ripper[13] | Yes |
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 such as VirtualDub. 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 Theora.
[edit] Editing
Description | Operating Systems Supported | ||
---|---|---|---|
Linux | Mac OS X | Windows | |
CVS versions of the Cinelerra non-linear video editing system support Theora, as of August 2005. | Yes | Yes |
[edit] 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.
[edit] See also
[edit] References
- ^ 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 on 2008-11-04.
- ^ http://theora.org/doc/Theora_I_spec.pdf
- ^ VP3.2 Public License 0.1, 2001, http://trac.xiph.org/browser/branches/vp32/vp32/VP32_license.txt, retrieved on 2008-02-10
- ^ http://www.xiph.org/press/2008/theora-release-1.0/
- ^ http://www.xiph.org/press/2009/thusnelda-alpha-1/
- ^ Doom9 (2002), MPEG-4 Codec shoot-out 2002 - 1st installment, http://www.doom9.org/codec-comparisons.htm, retrieved on 2007-12-19
- ^ Doom9 (2005), Codec shoot-out 2005 - Qualification, http://www.doom9.org/codecs-quali-105-3.htm, retrieved on 2007-12-19
- ^ Loli-Queru, Eugenia (December 12, 2007), Theora vs. h.264, OSNews, http://www.osnews.com/story/19019/Theora-vs-h.264/, retrieved on 2008-04-01
- ^ Montgomery, Chris, Theora "the push for 1.0" update, http://web.mit.edu/xiphmont/Public/theora/demo.html, retrieved on 2007-12-19
- ^ http://firefogg.org
- ^ http://oggconvert.tristanb.net
- ^ http://thoggen.net/
- ^ https://launchpad.net/kungfu
[edit] External links
|
|