编解码器的学习笔记(十):Ogg系列
Ogg是一个自由和开放的标准容器格式,由Xiph.Org 维修基金。
Ogg格式不受软件专利的限制,它的目的是有效地处理高品质的流媒体和数字媒体。
Ogg意指一种文件格式,能够纳入各式各样自由和开放源码的编解码器。包括音效、视频、 文字(像字幕)与元数据的处理。
Ogg Theora
Theora是一个免权利金、开放格式的有损影像压缩技术。由Xiph.Org 基金会开发,该基金会还开发了著名的声音编码技术Vorbis, 以及多媒体容器档案Ogg。Theora 是由 On2 Technologies 公司专属的 VP3 编码器经过开放源码后衍生而来。Theora 的命名来自于一个电视节目Max Headroom。
Theora是一个可 变位速率、以DCT为基础的影像压缩格式。和多 数的影像编码格式一样,Theora 使用了色度抽样、block based motion compensation 和 8×8 DCT block,也支援视 讯压缩图像类型 和 视 讯压缩图像类型,可是不支持使用在 H.264 和 VC-1 的 bi-predictive frames(B-frame)。Theora 也不支援 隔 行扫描, variable frame rates, 或 bit-depths larger than 8 bits per component。
Theora 的影像流能够储存在不论什么的容器档案格式中,最经常使用的是和声音编码Vorbis一起储存在Ogg档案格式中,这样的方式能够提供全然开放、免权利金的多媒体档案。此外Theora影像也能够储存在Matroska档 案中。
Google官方blog称,Web视频眼下没有一个标准,有些站点使用Flash。但这要求用户有Flash播放 器;有些使用Java播放器,但为了在JVM虚拟机中解码视频和音频用户须要一个配置非常高的机器;等等诸如此类。
好消息是新一代的 HTML 5标准引入了视频元素,Web开发人员能够用一种标准的方式指定视频的外观。如今问题变成了使用哪一种视频格式。
Google 觉得开放标准格式能够成为眼下无序的视频格式之争的底线。
最后的权益方案不须要最复杂的格式。或者是最大张旗鼓宣传,差点儿已成为行业标准的格式,因此他们决定选择支持使用广泛的开源Ogg Theora格式。
Theora是On2 Technologies 公司的 VP3 编码器的开源衍生版,Google于去年收购了On2公司。
资料来源:http://tech.it168.com/a2010/0412/872/000000872493.shtml
在2002年3月。On2将许可改为下周VP3开源码为LGPL。在2002年6月,On2将VP3作为Xiph.Org只和下的一个相似BSD的开源许可。On2还制定了一个不可更改的免版权费的声明,不论什么人能够用于不论什么软件,不论什么的衍生产品以及不论什么目的。2002年88月,On2与Xiph.Org签订一项协议,将VP3作为一个新的,免费的视频编解码。成为Theora。On2宣称Theora是VP3的一个继任者。在2002年10月3日。On2和Xiph宣布Theora最早的Alpha代码释放。
比特流格式在2004年冻结(version 1.0 alpha3),有经过了几年的beta版本号,Theora第一稳定版本号(v1.0)在2008年11月释放。
Theora不论什么版本号的视频编码在格式冻结后都与未来的播放器兼容。眼下的工作集中在“Thusnelda”分支的bug修复,眼下为beta版本号,将最后作为Theora1.1版本号释放。
Theora视频压缩格式基本上与VP3视频压缩格式兼容,包括一个后先兼容的超集。Theora是VP3和VP3流(有小量语法修订)的超集,VP3流能够不经过又一次压缩改为Theora流,可是反过来把成立。
VP3视频压缩能够由Theora来实现解码。可是Theora视频演示通常不能够使用古老的VP3来进行解码。
Theora将视频格式建立在开源的基础上,并作为基百科视频内容选择的编码格式。然而,Theora缺少商业支持。并正努力获取分销商尤其是网络分销商接受。
Mozilla使用这项技术在Firefox上提供HTML5视频。
苹果和微软的HTML5视频都准备採用 MPEG LA管理的H.264。
该团体的成员包含微软和苹果,及很多科技公司。
这里面的争议关键在于license的问题,H.264是须要给license的。
Mozilla则发出下面声明:“我们相信。HTML5视频在多方、开放和无权利金的编/解码器。以同于W3C授权标准之方式支持下。才符合公众利益。如 果MPGA LA愿意依据W3C标准定义的开放网络条件提供H.264,我们绝对会考虑採用这项技术。本组织坚持我们对Theora的立场。”
Opera首席技术官Hakon Wium Lie也提供下列声明;“为了开放网络的成长茁壮。全部媒体(包含视频),必须在无需支付编/解码器授权费的前提下使用。真正支持一个开放网络的浏览器制造商,必须努力建造一个无授权费的基本影音编/解码器。”
微软的公司博客写道:“源码是否能取得,与知识产权之间的差别,在于可取用的源码是极度必要的。眼下,H.264的知识产权。可通过MPEG LA管理的一个定义明白的方案取得。其他编/解码器的权利通常较不清楚。”
Ogg Vorbis
Ogg 的音频编码。 质量很优秀,特别是低码率下,支持多声道。最高码率可以达到 500kbps,是 AAC 的有力竞争者。
「Ogg」这个词汇通常意指Ogg Vorbis此一音频文件格式,也就是将Vorbis编码的音效包括在Ogg的容器中所成的格式。
在以往,.ogg此一扩展名以前被用在不论什么Ogg支持格式下的内容,但在2007年。Xiph.Org基金会为了向后兼容的考虑,提出请求。将.ogg仅仅留给Vorbis格式来使用。 Xiph.Org基金会决定创造一些新的扩展名和媒体格式来描写叙述不同类型的内容。像是仅仅包括音效所用的.oga,包括或不含声音的影片(涵盖 Theora)所用的.ogv和程序所用的.ogx。
Vorbis的是一个 开源自由软件 项目负责人是 Xiph.Org 基金会。该项目产生的数位音频格式规范和软件实施(编译码器)为有损音频压缩。 Vorbi是最经常使用的结合与Ogg容器格式,因此通常被称为 Ogg Vorbis格式.
Vorbis是一个延续的音频压缩的开发始于 1993年 克里斯蒙哥马利.集约发展始于1998年9月后。信弗劳恩霍夫协会 该公司宣布将收取许可费为 MP3音频格式。Vorbis的项目開始作为公司的一部分,Xiph.Org 基金会的Ogg项目(也称为 OggSquish多媒体项目)。克里斯蒙哥马利開始工作的项目。并协助越来越多的其他开发商。他们继续完好 源码 直到Vorbis的文件格式被冻结 2000年5月为 1.0 和一个稳定的版本号(1.0)的參考软件公布于 2002年7月19日。
Ogg Speex
Ogg 的语音编码,专门针对低码率的语音编码。
Ogg FLAC
Ogg 的无损音频编码。
On2 VPX 系列
On2 公司开发了一系列优秀的视频编码,如今应用得最多的恐怕是 Nullsoft Video 的视频,它们就採用了 VP3,VP5,VP6 视频编码。
VP3
已经作为开放源码发布。如今 是 Ogg Theora 项目,当然,Theora 的质量可比 VP3 好多了。
VP4
On2 公司当年吹牛全球最好的视频编码,后来证明质量非常一般。
VP5
至今还非常神奇,On2 并没有放出来,仅仅在 Nullsoft Video 里面见到他的身影。
VP6
从一開始,On2 就把这个编码器提供给大家下载。质量还是不错的。只是近期似乎又关闭了,主页上仅仅有一个解码器。On2 TrueMotion VP6是一个专有的有损视频编解码格式和视频编解码器。它是TrueMotion视频编解码的详细体现,是一系列由On2开发的视频编解码,通产个用于Adobe flash。Flash Video和JavaFX媒体文件。
VP7
On2 最新的编码器,在 VP6 上有不少进步。
在2005年1月,On2宣布推出比VP6有更好的压缩比的新的编解码VP7。
在2005ian4月,On2公司许可On2视频编码器9包含VP6和VP7)用于Macromedia Flash。
在2005年8月,Macromedia宣布他们选择VP6作为新的Flash Player8的视频回放的旗舰式编解码。
VP8
Google在2009年收购了On2 Technologies。并于2010年5月19日在Google I/O会议上宣布将VP8以BSD许可证的形式开源。
。VP8是On2 Technologies继VP3之后宣布开源的第二个编解码器。(Xiph.Org 基金会于2002年接手VP3并将之冠名以Theora,之后以BSD许可证的形式将Theora开源)。要求Google将VP8开源的最大呼声来自于自由软件基金会。2010年3月12日,自由软件基金会给Google发了一封公开信,请求Google逐渐用开源形式的VP8和HTML 5代替YouTube上的Adobe Flash和H.264。
2010年5月19日,WebM启动。
WebM包括了来自于Mozilla、Opera、Google以及其它四十多家出版商和计算机软硬件供应商(包括AMD、NVIDIA)的贡献,旨在大力倡导在HTML5中使用VP8。
Internet Explorer 9在安装了适合的编解码器之后也能支持VP8。
注意:由上述材料wiki整理。
相关链接: 我的产业生态系统和主题的文章
编解码器的学习笔记(十):Ogg系列的更多相关文章
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
- python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- python3.4学习笔记(十) 常用操作符,条件分支和循环实例
python3.4学习笔记(十) 常用操作符,条件分支和循环实例 #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1.25 c //= 8 #用两个 ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Go语言学习笔记十: 结构体
Go语言学习笔记十: 结构体 Go语言的结构体语法和C语言类似.而结构体这个概念就类似高级语言Java中的类. 结构体定义 结构体有两个关键字type和struct,中间夹着一个结构体名称.大括号里面 ...
随机推荐
- 【Testin实验室】MoiMark安卓中国终端体验性能排行榜(11月报)
[Testin实验室]MoiMark安卓中国终端体验性能排行榜(11月报) 2014/11/20 · Testin · 实验室报告 11月报要点: 新增机型Note4强势夺得第一.三星Note4以多个 ...
- Javascript学习3 - 语句
原文:Javascript学习3 - 语句 javascript语句同C/C++语句相似,但也几个特殊的语句,在C/C++中没在碰到,列举在下面. 3.1 for/in 语句 可以用来遍历对象 ...
- [WF4.0 实战] WPF + WCF + WF 打造Hello World(基础篇)
本篇博客是一个基础的演示样例,也就是一个新手教程吧!让大家熟悉一下WPF + WCF + WF三者的关系!这仅仅是一个基础篇,下篇会继续深入,作为这段时间研究工作流的一个小小总结! 三者关系: WPF ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据 ...
- JAVA类型修饰符(public,protected,private,friendly)
JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...
- javascript中数组常用方法总结
原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...
- UVA Don't Get Rooked
主题如以下: Don't Get Rooked In chess, the rook is a piece that can move any number of squaresverticall ...
- Spring学习使用标签来标记资源(@Component、@Repository、 @Service和@Controller)和用法(包括如何jsp正在使用)
首先,在xml其中新增部分标有下划线的文件,容器初始化的时候需要扫描包 注意: a. 包款扫描(下划线部分)一定要加,默认是不扫描整个包.与每一包之间','开.如过具有同样的父包,那么我们能够 ...
- 【Python】Python与文本处理langid工具包的文本语言检测和歧视
1.问题的叙述性说明 使用Python文本处理.文字有时被包括中国.英语.在日本和其他语言文字,进行处理.这个时候就须要判别当前文本是属于哪个语系的. Python中有个langid工具包提供了此功能 ...
- C#二维码生成解析
C#二维码生成解析工具,可添加自定义Logo 二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能 ...