Theora
Theora是一个免权利金、开放格式的有损影像压缩技术,由Xiph.Org基金会开发,该基金会还开发了著名的声音编码技术Vorbis,以及多媒体容器文件格式Ogg。libtheora则是Xiph.Org基金会针对Theora格式的实现[5][6]。
扩展名 | .ogv, .ogg |
---|---|
互联网媒体类型 | video/ogg |
开发者 | Xiph.Org基金会 |
首次发布 | 2004年6月1日[1] |
格式类型 | 影像编码 |
使用容器 | Ogg、Matroska |
扩展自 | VP3 |
标准 | Theora规格 |
免费格式? | 是[2] |
开发者 | Xiph.Org基金会 |
---|---|
首次发布 | 2008年11月3日 | (1.0)
当前版本 | 1.1.1(2009年10月1日[3]) |
预览版本 | 1.2.0 Alpha 1(2010年9月24日[4]) |
编程语言 | C语言 |
操作系统 | Unix-like(包含GNU/Linux、Mac OS X),Windows |
类型 | 影像编码 |
许可协议 | 3-clause BSD |
网站 | theora.org |
Theora是由On2 Technologies公司专属的VP3编码器,经过开放源代码后派生而来,目标是达成比MPEG-4 Part 2更好的编码效率。Theora的命名来自于一个电视节目Max Headroom中的角色:Theora Jones[7]。
发展历史
开发缘起
Theora的前身是由On2 Technologies所开发的专属影像编码格式On2 TrueMotion VP3,VP3.1在2000年5月推出,三个月后推出的VP3.2则成为了Theora的基础[8][9][10][11]。2001年8月,On2 Technologies宣布将会发布一个VP3.2的开放源代码版本,同年9月在网站www.vp3.com上面发布VP 3.2的源代码以及算法[12][13][14][15][16][17]。
转变为自由软件
2002年3月,On2将VP3源代码的许可认证更改为LGPL[18];同年6月,On2将VP3以BSD-like的许可认证方式捐赠给Xiph.Org基金会[19][20][21][22],并且放弃VP3包含的知识财产,允使任何人将VP3编码作更动、派生[23][24]。
2002年8月,On2宣布和Xiph.Org基金会达成协议,将会以VP3编码器为基础,制作一个新的影音编码格式:Theora。On2认可Theora为VP3的后继者,在2002年10月3日,On2和Xiph.Org基金会共同完成了Theora的实现:libtheora的最初版本,2003年6月9日,完成了Alpha 2版本[25];2004年3月20日推出了Alpha 3版本[26]。
在VP3开放源代码时,并没有针对VP3的比特流格式做规范,2003年,Mike Melanson建立了一个不完整的VP3比特流描述,而后在Theora的规范中采用了部分VP3的比特流描述。[27][28]
Theora I规格
Theora I比特流格式最终在2004年6月libtheora 1.0alpha3版本发布后确立[1],之后只要用libtheora编码的影像都能够正确无误的播放[1][30],最终Theora I规格在2004年正式推出[31]。
Theora影像的实现libtheora花了数年的时间在测试版状态,最终正式版1.0版本在2008年11月发布[32][33],随后针对libtheora 1.0版本的作改进的1.1版(代号"Thusnelda")也在在2009年11月发布[34],1.1版本带来了许多新特性和改进,像是比特率控制以及[[二次{{}}编码]]。下个版本的 libtheora 也正在开发中,代号为Ptalarbvorm[35],不过目前Theora的代码已经近3年没有重大更新,开发呈现停滞状态[36]。
随着Theora逐渐成熟,使用Theora编码的软件也逐渐增加,例如维基百科就以Theora作为影片的编码格式。Theora也曾经被确认为HTML5影像编码的标准格式,但是在一些争论之后被撤销[37]。
技术细节
Theora是一个变动比特率、以DCT为基础的影像压缩格式。和多数的影像编码格式一样,Theora使用了色度抽样、block based motion compensation和8×8 DCT block,也支持视频压缩略图像类型和视频压缩略图像类型,但是不支持使用在H.264和VC-1的bi-predictive frames(B-frame),Theora也不支持隔行扫描、可变帧率,或8位以上原色色深。[27]。
Theora的影像流可以存储在任何的容器文件格式中,最常用的是和声音编码Vorbis一起存储在Ogg文件格式中,这种方式可以提供完全开放、免权利金的多媒体文件。此外Theora影像也可以存储在Matroska文件中[38]。
影像表现
编码表现
早期的VP3[39]和Theora[40] [41] [42]编码器在编码结果上明显不如同时期的其他编码器。Google公司的员工Chris DiBona也在2009年宣称Theora的编码质量不佳[43],为了回应这个论点,Xiph基金会的开发者用Theora 1.1版本的编码器和YouTube上的H.264以及H.263+编码器做比较,结果发现Theora的编码画质可以比拟H.264,且更胜于H.263+[44][45]。
播放表现
针对Theora的硬件解码器,目前有开放源代码的VHDL程序正在开发中[46]。而2006年开始也有针对Nios II以及LEON处理器做为解码器的开发项目[47],不过目前并没有任何可以针对Theora影像做硬件解码的产品出现在市面上。
播放
浏览器原生支持
- Mozilla Firefox在3.5之后的版本[48][49]包括了Firefox Mobile(Fennec)[50]。
- Google Chrome在3.0.182.2之后的版本[51][52] ,自2009年7月起也包括Chromium[53]。
浏览器插件(Plug-in)
可以透过下列的插件让浏览器播放Theora影像
- Annodex的插件(透过OggPlay(页面存档备份,存于互联网档案馆))
- Cortado,一个以Java语言开发的播放器应用程序(applet)
- VLC媒体播放器针对IE以及Firefox的浏览器插件
支持的应用程序
- FFmpeg(有自己的实现)
- Helix Player
- Miro Media Player(旧名Democracy Player)
- MPlayer以及其前端程序
- Songbird、Totem、Moovida和所有以GStreamer为基础的播放器
- VLC(原生支持)
- xine和以libxine为基础的播放器,像是Kaffeine
- Dragon Player和所有以Phonon为基础的播放器
参见
参考资料
- ^ 1.0 1.1 1.2 Giles, Ralph. Theora I bitstream freeze. theora-dev (邮件列表). 1 June 2004 [25 September 2009]. (原始内容存档于2011-09-27).
- ^ PlayOgg! - FSF - Free Software Foundation. 2010-03-17 [2013-10-01]. (原始内容存档于2017-06-18).
- ^ Theora 1.1.1 release. Xiph.Org基金会. [6 October 2009]. (原始内容存档于2010-01-18).
- ^ libtheora 1.2.0alpha1 release. Xiph.Org基金会. [10 October 2010]. (原始内容存档于2011-04-03).
- ^ Xiph.Org基金会. libtheora Documentation 1.1.0. Xiph.Org基金会. [25 September 2009]. (原始内容存档于2018-06-24).
- ^ ohloh. libtheora. ohloh. [25 September 2009]. (原始内容存档于2010-10-10).
- ^ Theora FAQ. Xiph.Org基金会. [2009-08-06]. (原始内容存档于2018-06-24).
- ^ On2 Introduces TrueMotion VP3.2 (新闻稿). On2. 16 August 2000 [11 August 2009]. (原始内容存档于2007年12月3日).
- ^ On2, On2 Introduces TrueMotion VP3.2(archived website), 2000-08-16 [2010-08-23], (原始内容存档于2007-12-03)
- ^ On2.com Launches Next Generation of Revolutionary Broadband Video Technology (新闻稿). On2. 17 May 2000 [11 August 2009]. (原始内容存档于2007年12月3日).
- ^ On2, On2.com Launches Next Generation of Revolutionary Broadband Video Technology(archived website), 17 May 2000 [2010-08-23], (原始内容存档于2007-12-03)
- ^ On2 Technologies, VP3.2 Public License 0.1, Archive.org, 2001 [22 September 2009], (原始内容存档于2001年10月26日)
- ^ On2 Technologies, VP3.2 Public License 0.1, Xiph.Org基金会, 2001 [10 February 2008], (原始内容存档于2016-04-04)
- ^ StreamingMedia.com(2001-09-07)On2 Offers Up VP3.2 Source Code (页面存档备份,存于互联网档案馆), Retrieved on 2009-08-16
- ^ On2(2001-09-07)On2 Technologies Makes Video Compression Technology Available to Open-Source Community (页面存档备份,存于互联网档案馆), Retrieved on 2009-08-16
- ^ On2, On2 Technologies Makes Video Compression Technology Available to Open-Source Community(archived website), 2001-09-07 [2010-08-23], (原始内容存档于2007-12-07)
- ^ Linux.com(2001-09-06)On2 Technologies Open-Sources VP3 video compression code, Retrieved on 2009-08-16
- ^ The Free Library(2002-03-28)On2 Alters Licensing Terms for VP3; Company Responds to Open Source Community Demands. (页面存档备份,存于互联网档案馆), Retrieved on 2009-08-16
- ^ On2(2002-06-24)VP3 Combines with Vorbis to Create First Open-Source Multimedia Platform (页面存档备份,存于互联网档案馆), Retrieved on 2009-08-16
- ^ On2, VP3 Combines with Vorbis to Create First Open-Source Multimedia Platform(archived website), 2002-06-24 [2010-08-23], (原始内容存档于2007-12-03)
- ^ Linux.com(2002-06-23)Ogg Vorbis, VP3 combining forces to create Open Source multimedia package, Retrieved on 2009-08-16
- ^ InternetNews.com(2002-06-24)On2 Throws More Open-Source at MPEG-4 (页面存档备份,存于互联网档案馆), Retrieved on 2009-08-16
- ^ Xiph.org libtheora license (Subversion - Trunk) (页面存档备份,存于互联网档案馆), Retrieved on 2009-08-16
- ^ Xiph.org VP32 codec license (Subversion - Trunk) (页面存档备份,存于互联网档案馆), Retrieved on 2009-08-16
- ^ Giles, Ralph. libtheora alpha 2 release. theora-dev (邮件列表). 9 June 2003 [26 September 2009]. (原始内容存档于2011-09-27).
- ^ Giles, Ralph. libtheora alpha 3 release. theora-dev (邮件列表). 19 March 2004 [26 September 2009]. (原始内容存档于2011-09-27).
- ^ 27.0 27.1 Theora Specification (PDF). Xiph.Org基金会. 2007 [2009-09-07]. (原始内容存档 (PDF)于2012-02-20).
- ^ Mike Melanson(mike at multimedia.cx), VP3 Bitstream Format and Decoding Process, Multimedia.cx, 8 December 2004 [27 September 2009], (原始内容存档于2013年1月6日)
- ^ Lucian Armasu. IETF Begins Standardization Process For Next-Generation 'NETVC' Video Codec (Daala). Tom's Hardware. 2015-03-25 [2015-08-05].
- ^ Xiph.Org基金会, Theora.org : news, Xiph.Org基金会, 24 September 2009 [25 September 2009], (原始内容存档于2010-10-10)
- ^ Xiph.Org基金会. Theora I Specification, Xiph.org基金會, September 17, 2004 (PDF). Archive.org. 17 September 2004 [26 September 2009]. (原始内容 (PDF)存档于2004年9月28日).
- ^ Giles, Ralph. Theora 1.0 final release!. theora-dev (邮件列表). 3 November 2008.
- ^ The Xiph.Org基金會announces the release of Theora 1.0 (新闻稿). Xiph.Org基金会. 3 November 2008 [6 August 2009]. (原始内容存档于2009-02-17).
- ^ Giles, Ralph. libtheora 1.1(Thusnelda)stable release. theora-dev (邮件列表). 24 September 2009 [24 September 2009]. (原始内容存档于2010-05-13).
- ^ Monty. Theora: Ptalarbvorm project update 20100518. 18 May 2010 [1 July 2010]. (原始内容存档于2010-05-21).
- ^ 存档副本. [2014-06-30]. (原始内容存档于2019-02-18).
- ^ McLean, Prince. Ogg Theora, H.264 and the HTML 5 Browser Squabble. RoughlyDrafted Magazine. 6 July 2009 [2010-02-14]. (原始内容存档于2010-12-03).
- ^ Matroska Codec Specs. Matroska. [2009-08-06]. (原始内容存档于2009-08-31).
- ^ MPEG-4 Codec shoot-out 2002 - 1st installment. Doom9. 2002 [19 December 2007]. (原始内容存档于2008年2月23日).
- ^ Codec shoot-out 2005 - Qualification, Doom9, 2005 [19 December 2007], (原始内容存档于2007年12月31日)
- ^ Loli-Queru, Eugenia. Theora vs. h.264. OSNews. 12 December 2007 [1 April 2008]. (原始内容存档于2009-02-17).
- ^ Halbach, Till. Dirac and Theora vs. H.264 and Motion JPEG2000. March 2009 [22 April 2008]. (原始内容存档于2012年7月7日).
- ^ DiBona, Chris. H.264-in-<video> vs plugin APIs. whatwg (邮件列表). 13 June 2009 [10 August 2009]. (原始内容存档于2011-04-27).
- ^ Maxwell, Greg. YouTube / Ogg/Theora comparison. Xiph.Org基金会. 13 June 2009 [10 August 2009]. (原始内容存档于2009-07-09).
- ^ Maik, Merten. Another online-video comparison. Xiph.Org基金会. 15 June 2009 [10 August 2009]. (原始内容存档于2009-07-09).
- ^ Xiph Subversion repository: trunk/theora-fpga. Xiph.Org基金会. [2009-08-10]. (原始内容存档于2009-07-31).
- ^ XiphWiki: Theora Hardware. Xiph.Org基金会. [10 August 2009]. (原始内容存档于2009-09-17).
- ^ MozillaWiki, Firefox3.5/Features, MozillaWiki, 18 March 2009 [11 October 2009], (原始内容存档于2010-07-06)
- ^ Mozilla Corporation, Mozilla Firefox 3.5 Release Notes, Mozilla Corporation, 30 June 2009 [11 October 2009], (原始内容存档于2010-11-30)
- ^ Mozilla Corporation, Firefox Mobile Features, Mozilla Corporation, 9 February 2010 [9 February 2010], (原始内容存档于2010-12-01)
- ^ Google Chrome to support HTML 5 video, SoftSailor, 28 May 2009 [11 October 2009], (原始内容存档于2009年10月3日)
- ^ Stephen Shankland, Google Chrome gets HTML video support, cnet news, 28 May 2009 [11 October 2009], (原始内容存档于2011-07-19)
- ^ Issue 16657: Ensure FFmpeg binaries end up in snapshots on all platforms, google chromium issues list, 14 July 2009 [2010-02-06], (原始内容存档于2012-11-04)
- ^ Robert Kaiser, What's New in SeaMonkey 2.0 Beta 2, seamonkey-project.org, 16 September 2009 [11 October 2009], (原始内容存档于2010-06-26)
- ^ Bugreport: Wish for audio/video element support in Konqueror, 13 May 2007 [2 December 2009], (原始内容存档于2012年12月28日)
- ^ Plans for Konqueror 4.4, 26 November 2009 [2 December 2009], (原始内容存档于2011-07-17)
- ^ Philip Jägenstedt. (re-)Introducing <video> - Official blog for Core developers at Opera. Opera. 2009-12-31 [2010-01-02]. (原始内容存档于2010-01-04).
- ^ Arjan van Leeuwen. Happy New Year! - Official blog for Core developers at Opera. Opera. 2009-12-31 [2010-01-02]. (原始内容存档于2010-01-04).
- ^ Experimental Opera-video build with native Ogg Theora support, Opera, 25 April 2007 [11 October 2009], (原始内容存档于2007-12-02)
- ^ A call for video on the web - Opera <video> release on Labs, Opera, 7 November 2007 [11 October 2009], (原始内容存档于2010-10-22)