昨天,Google发布了一个开源项目WebM。
这个项目的目的,是在文件格式方面,为制作和发布互联网视频提供了一个开源的解决方案。
WebM采用MKV作为封装格式,里面的音频编码用Vorbis格式,视频编码用VP8格式。
MKV和Vorbis都是早就存在的开源格式,而VP8本来属于On2公司的封闭格式,是不开源的。去年8月,Google花了1亿美元收购On2,才有了今天。
这个决定轰动了业界,因为这意味着,我们终于有了一个没有专利约束、并且获得大公司支持的免费视频编码格式VP8(详见我翻译的《HTML5视频格式之争》一文)。
但是,VP8其实只是一种规格,以前从来没有公开过,也没有任何基于它的产品问世。所以,外界一直不知道VP8的性能究竟如何。
开源视频转换程序ffmpeg的开发者之一Jason Garrett-Glaser,有机会提前接触到了VP8。他写了一篇很详细的评估,说出了自己对VP8的印象,并将VP8与专利格式H.264做了比较。
下面就是这篇评估的简单翻译,删去了讨论技术细节的部分。
=======================
VP8视频格式初探(精简版)
作者:Jason Garrett-Glaser
译者:阮一峰
原文网址:http://x264dev.multimedia.cx/?p=377
一、On2是一家怎样的公司?
在开始讨论VP8之前,我想先谈谈对On2公司的印象。
它曾经宣称,VP8比H.264的性能高出50%。但是,它的话是不可信的。因为它也说过,VP7比H.264的性能高出15%。但是后来人们发现,VP7远远不如H.264。
2003年,On2宣布VP3开源。表面上,它好像为开源事业做出了贡献。但是实际上,它的目的是,希望开源社区为它修正错误。Theora项目上了当,选择VP3作为自己的代码基础,结果修改代码的时间用去了6年,做出来的产品性能还是不如H.264。
二、VP8的规格
这份规格文件令人很不满意。很多技术细节,不是写得太简单,就是写得太模糊。大部分地方都是直接张贴C代码,而不是用文字表述。要知道C代码和格式规格,完全是两回事,根本不能替代。
我曾经觉得,H.264的规格写得太啰嗦,但它至少是准确的。VP8的规格根本就是不清晰,不准确,太简短,很多细节没有解释清楚。老实说,仅仅根据这份规格,地球上根本不可能有人能够写出VP8的解码器。
更令人惊奇的是,根据代码中的注释,VP8有些部分写于2004年初,比H.264还要古老!On2在此后6年的时间中,都不做修改,这是说不过去的。
三、VP8编码器(Encoder)
首先要明确一件事情。格式规格和它的具体实现,是两回事。一个很好的编码程序,可能是基于一个很烂的规格;而一个很好的规格,也可能会产生出一个很烂的编码程序。
原厂提供的解码器,生成的图像质量虽然大大好于VP3,但是并没有明显胜过H.264的地方。
这个编码器的编码速度要慢于H.264。我的机器是1.6Ghz的Core i7,编码1080p时速度为26fps;而用H.264编码器,选择"最快速度"选项时,可以达到101fps。
在压缩性能方面,VP8也不如H.264。
四、VP8解码器(Decoder)
原厂提供的VP8解码器,比ffmpeg的H.264解码器慢了16%,更不要说其他更先进的H.264解码器了。
就算最终通过各种优化,VP8解码器可以达到H.264的同样水平。但是,H.264有众多硬件支持,而VP8只能靠软解码,所以谁快谁慢不言而喻。
五、专利问题
VP8的一大卖点,就是没有专利权问题。但是,它的某些细节与H.264太像,我觉得已经很难用巧合解释了,将来肯定会出现专利纠纷。
在没有明确证据表明VP8通过专利检验之前,我建议使用时一定要非常谨慎。
[附录]
Youtube已经开始提供WebM视频了,不过只有最新的浏览器才支持。具体的观看方法请查看http://www.ghacks.net/2010/05/20/webm-video/(英文)。
(完)
tiqin 说:
有胜于无,未来会怎样很难讲,但是总算是有了一个可以免费用的v8还是值得庆贺的;像文件格式这样基础性的产品就该有开放的,公共的可以免费使用;开放格式的好处某种程度上比开源软件更有价值。
2010年5月20日 21:13 | # | 引用
XD.net 说:
专利纠纷总归会有的。即使向linux这样一开始就是开源受到广大程序员监督的,也会有sco跳出来(虽然最后没有成功),更何况是这种原来是闭源开发的。
2010年5月20日 21:30 | # | 引用
win.milan 说:
支持VP8
2010年5月20日 21:55 | # | 引用
WebM 说:
Core i7
1.6Ghz?
降频?
2010年5月20日 22:37 | # | 引用
Rei 说:
问题也还在可接受范围内,并且是可操作的。就像插了一支旗,今后会不断吸引热爱自由的人来贡献,解决性能问题,筑起抵抗专利的堡垒。
只是一味和专利公司谈判和妥协,最后只会被他们榨干。
2010年5月20日 23:14 | # | 引用
Seven 说:
开源是正途.
2010年5月20日 23:33 | # | 引用
SWX 说:
貌似这和上篇的翻译矛盾啊,上篇宣称基于 VP3 的 Theora 不比 H.264 差。
而这篇宣称比 VP3 优秀得多的 VP8 依然不如 H.264,信谁呢?
2010年5月21日 00:15 | # | 引用
Dianso 说:
等上几年就知道结果了
2010年5月21日 02:40 | # | 引用
ssdt 说:
难道开源自己实现的x264也要缴费?,xvid当初实现h263也没缴费吧,现在h263可以强迫xvid收费吗?
实现部分h264并不是264吧
我觉得这些东西其实对非商业的影响不大
你不做商业,h264你可以随便用
vp3不可能比h264优秀吧
就算是xvid,vp3都未必能比的过
上当的开源多的很
divx不就是最开始xvid上当后少数人窃取了成果,另外一批人再单独开发的,气不过就起了一个相反的名字
2010年5月21日 04:42 | # | 引用
ssdt 说:
h264压缩并不高,就比h263高25%
无非支持更多profile
开源的完全可以不全部实现这些profile
然后开发出自己的软解码(相信fusion之后,软解码已经是最好选择,不需要硬件支持)
这样就可以绕过h264专利了
h264我认为只是硬件商和一些软件商的阴谋
就象xvid可以支持那些profile也可以选择不支持
区别就是无法获得那些厂的支持
你编码出来的在那些消费类电子上无法播放而已
但并不会影响你使用
2010年5月21日 04:53 | # | 引用
某人 说:
我觉得都是利益之争。Google的策略很强大,有免费开源的方式占领市场。
2010年5月21日 08:49 | # | 引用
小武 说:
这个精简也太精简了……
其实昨天我也是想详细的看一遍,试着翻译的,但是英文水平太次了,只好作罢。
原文甚至提到微软也曾经想把VC-1搞成pattern-free,结果一大堆公司冒出来宣称拥有相关专利,最后形成了个专利池。
提到VP8跟H264太像,很多东西都一样,例如8*8 16*16 4*4之类的视频编码方案,几乎跟H264一样,很多参数(忘了到底是什么了)也跟H264相同,总之这个看起来很难会是pattern-free啊。
2010年5月21日 10:46 | # | 引用
jjgod 说:
Jason Garrett-Glaser 是 x264 的开发者,不是 ffmpeg 的开发者。
2010年5月21日 11:39 | # | 引用
sink 说:
哇,webM竟然是用mkv容器。
既然浏览器支持mkv(VP8/ogg),也许会有支持mkv(H264/AAC)。
2010年5月21日 13:18 | # | 引用
令狐虫 说:
webM指的是使用VP8做视频codec,Vorbis做音频codec,使用Matroska封装的媒体格式。如果使用了其他的codec,那就不是webM了。
这个在FAQ(http://www.webmproject.org/about/faq/)里说得很清楚:A valid WebM file can only contain VP8 video and Vorbis audio in a .webm container. Why did you define WebM so narrowly?
2010年5月21日 13:41 | # | 引用
tangfl 说:
我也尝试这翻译了一下这篇文档,请指正:
http://blog.fulin.org/2010/05/vp8_first_in_depth_tech_analysis.html
从这篇文章看来,vp8 确实还没有做好准备,从规范,算法,实现都有太多不够完善的地方,更别说抄袭那么多 h264 的做法。
还有一个很大的硬伤,就是 vp8 的设计使得它比较难以用硬件实现。
2010年5月21日 15:36 | # | 引用
liyuan 说:
这是Google和H264的博弈。虽然H.264的硬件支持比较好,但是存在专利问题。
Google想借用自己的影响力,推广VP8,从而使更多的硬件支持VP8.
2010年5月22日 19:26 | # | 引用
tzcsxgx 说:
个人觉得ason Garrett-Glaser的观点有的激化,“我的机器是1.6Ghz的Core i7,编码1080p时速度为26fps;而用H.264编码器,选择"最快速度"选项时,可以达到101fps”是翻译有误,还是硬商和软商的..(H264)。
2011年10月13日 23:15 | # | 引用