Theora
package.lua第80行Lua错误:module 'Module:Arguments' not found
页面Module:Infobox/styles.css没有内容。
| 脚本错误:没有“InfoboxImage”这个模块。 | |
| 脚本错误:没有“InfoboxImage”这个模块。 | |
| 扩展名 | Template:Monodiv |
|---|---|
| 互联网媒体类型 | Template:Monodiv |
| 开发者 | Xiph.Org基金会 |
| 首次发布 | 2004年6月1日[1] |
| 格式类型 | 影像编码 |
| 使用容器 | Ogg、Matroska |
| 扩展自 | VP3 |
| 标准 | Theora规格 |
| 免费格式? | 是[2] |
脚本错误:没有“Check for unknown parameters”这个模块。 页面Module:Infobox/styles.css没有内容。
| 脚本错误:没有“InfoboxImage”这个模块。 | |
| 脚本错误:没有“InfoboxImageVariant”这个模块。 | |
| 开发者 | Xiph.Org基金会 |
|---|---|
| 首次发布 | 2008年11月3日 (1.0) |
| 当前版本 | 1.2.0(2025年3月29日[3]) |
| 编程语言 | C语言 |
| 操作系统 | Unix-like(包含GNU/Linux、Mac OS X),Windows |
| 类型 | 影像编码 |
| 许可协议 | 3-clause BSD |
| 网站 | theora.org |
| 脚本错误:没有“Template wrapper”这个模块。 | |
脚本错误:没有“Check for unknown parameters”这个模块。
Theora是一个免权利金、开放格式的有损影像压缩技术,由Xiph.Org基金会开发,该基金会还开发了著名的声音编码技术Vorbis,以及多媒体容器档案格式Ogg。libtheora则是Xiph.Org基金会针对Theora格式的实作[4][5]。
Theora是由On2 Technologies公司专属的VP3编码器,经过开放源代码后衍生而来,目标是达成比MPEG-4 Part 2更好的编码效率。Theora的命名来自于一个电视节目Max Headroom中的角色:Theora Jones[6]。
发展历史[编辑]
开发缘起[编辑]
Theora的前身是由On2 Technologies所开发的专属影像编码格式On2 TrueMotion VP3,VP3.1在2000年5月推出,三个月后推出的VP3.2则成为了Theora的基础[7][8][9][10]。2001年8月,On2 Technologies宣布将会释出一个VP3.2的开放源代码版本,同年9月在网站www.vp3.com上面释出VP 3.2的源代码以及算法[11][12][13][14][15][16]。
转变为自由软件[编辑]
2002年3月,On2将VP3源代码的许可认证更改为LGPL[17];同年6月,On2将VP3以BSD-like的许可认证方式捐赠给Xiph.Org基金会[18][19][20][21],并且放弃VP3包含的智慧财产,允使任何人将VP3编码作更动、衍生[22][23]。
2002年8月,On2宣布和Xiph.Org基金会达成协议,将会以VP3编码器为基础,制作一个新的影音编码格式:Theora。On2认可Theora为VP3的后继者,在2002年10月3日,On2和Xiph.Org基金会共同完成了Theora的实作:libtheora的最初版本,2003年6月9日,完成了Alpha 2版本[24];2004年3月20日推出了Alpha 3版本[25]。
在VP3开放源代码时,并没有针对VP3的位元流格式做规范,2003年,Mike Melanson建立了一个不完整的VP3位元流描述,而后在Theora的规范中采用了部分VP3的位元流描述。[26][27]
Theora I规格[编辑]
Theora I位元流格式最终在2004年6月libtheora 1.0alpha3版本释出后确立[1],之后只要用libtheora编码的影像都能够正确无误的播放[1][29],最终Theora I规格在2004年正式推出[30]。
Theora影像的实作libtheora花了数年的时间在测试版状态,最终正式版1.0版本在2008年11月释出[31][32],随后针对libtheora 1.0版本的作改进的1.1版(代号"Thusnelda")也在在2009年11月释出[33],1.1版本带来了许多新特性和改进,像是位元率控制以及[[二次{{}}编码]]。下个版本的 libtheora 也正在开发中,代号为Ptalarbvorm[34],不过目前Theora的程式码已经近3年没有重大更新,开发呈现停滞状态[35]。
随着Theora逐渐成熟,使用Theora编码的软件也逐渐增加,例如维基百科就以Theora作为影片的编码格式。Theora也曾经被确认为HTML5影像编码的标准格式,但是在一些争论之后被撤销[36]。
技术细节[编辑]
Theora是一个变动位元率、以DCT为基础的影像压缩格式。和多数的影像编码格式一样,Theora使用了色度抽样、block based motion compensation和8×8 DCT block,也支援视讯压缩图像类型和视讯压缩图像类型,但是不支援使用在H.264和VC-1的bi-predictive frames(B-frame),Theora也不支援隔行扫描、可变帧率,或8位以上原色色深。[26]。
Theora的影像流可以储存在任何的容器档案格式中,最常用的是和声音编码Vorbis一起储存在Ogg档案格式中,这种方式可以提供完全开放、免权利金的多媒体档案。此外Theora影像也可以储存在Matroska档案中[37]。
影像表现[编辑]
编码表现[编辑]
早期的VP3[38]和Theora[39] [40] [41]编码器在编码结果上明显不如同时期的其他编码器。Google公司的员工Chris DiBona也在2009年宣称Theora的编码品质不佳[42],为了回应这个论点,Xiph基金会的开发者用Theora 1.1版本的编码器和YouTube上的H.264以及H.263+编码器做比较,结果发现Theora的编码画质可以比拟H.264,且更胜于H.263+[43][44]。
播放表现[编辑]
针对Theora的硬件解码器,目前有开放源代码的VHDL程式正在开发中[45]。而2006年开始也有针对Nios II以及LEON处理器做为解码器的开发计划[46],不过目前并没有任何可以针对Theora影像做硬件解码的产品出现在市面上。
播放[编辑]
浏览器原生支援[编辑]
- Mozilla Firefox在3.5之后的版本[47][48]包括了Firefox Mobile(Fennec)[49]。
- Google Chrome在3.0.182.2之后的版本[50][51] ,自2009年7月起也包括Chromium[52]。
浏览器插件(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 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 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
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 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
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 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
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 26.0 26.1 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ 脚本错误:没有“citation/CS1”这个模块。
package.lua第80行Lua错误:module 'Module:Arguments' not found package.lua第80行Lua错误:module 'Module:Arguments' not found