VP8视频格式初探

article/2025/9/7 19:31:08

作者: 阮一峰日期: 2010年5月20日

昨天,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/(英文)。

(完)


http://chatgpt.dhexx.cn/article/4OYoO4n5.shtml

相关文章

深入了解 VP8

部分翻译:http://x264dev.multimedia.cx/?p377 译者:delectate 问题一:vp8到底怎么样? 难道他真的比x264拥有更高的压缩比率,是个优秀的编码器吗?他真的比h264优秀吗?似乎On2自己都羞于承认……

VP8的前途与使命

文 / 金尹 VP8是视频压缩解决方案厂商On2推出的视频压缩格式。今年年初,Google完成了对On2的收购,随即开放了VP8视频编码技术源代码并免费提供给开发者使用。但业界对此一直褒贬不一,本文作者从多个角度进行阐述,对VP8的前途与发展…

如何使用Win10剪切板

几乎所有接触电脑的人都会使用CtrlC和CtrlV,但是每次CtrlC只能复制一次,并且会覆盖之前已经复制的内容。如果需要多次复制不同内容,那就操作多次。如果需要切换页面进行复制,特别不方便。其实,Win10有内置剪切板&#…

windows剪切板的历史记录

windows剪切板的历史记录 最近遇到一件比较坑的事情。当然可能也是我本人粗心大意了吧。但是这种事情难免要发生。比如说你要移动一个比较重要的东西,然后按了ctrlx,但是之间因为别的事情耽搁了一下,而自己的重要的东西还放在剪切板里面&…

win10如何查看剪切板内容?

cv大法我们经常用,但如果复制了新的内容但又想粘贴使用上次复制的内容怎么办? 其实复制新的内容并没有覆盖掉之前复制的内容,可以使用CtrlV快捷键打开剪切板,在剪切板里可以找到以前复制过的内容。 注意:这里的剪切板…

windows 剪贴板监控

迅雷下载或者旋风下载都有一个很有意思的剪贴板监控功能,当你打开剪贴板监控时,如果你复制了一个下载的URL,这两个程序都会弹出来下载框来让你去下载,显得很智能,昨天发现灵格斯词霸也有个剪贴板取词功能。 上个月写了…

Win10清空剪切板内容的方法介绍

剪切板是用户最经常使用的系统功能,可以对想要操作的内容进行临时缓存,但是长时间对里面的内容不清理的话,就会造成系统卡顿。下面小编就给大家介绍一下Win10清空剪切板内容的方法。 操作过程: 1、在Win10桌面空白处点击鼠标右键&…

WIN10剪切板打不开无法调用win+v无法打开

1.确认设置——>剪切板设置——>剪切板打开 2.第一步打开之后仍然无法调用尝试第二步 管理员运行cmd——>输入以下命令 DISM /Online /Add-Capability /CapabilityName:Windows.Client.ShellComponents~~~~0.0.1.0 等待安装完毕——>winv调用成功!

Windows 远程桌面剪切板失效

环境: Windows Server 2019 Windows 10 问题描述: 从本机复制文本或图片,无法粘贴到远程主机,从远程主机无法复制文本或图片到当前本地主机,远程桌面剪切板失效 解决方案: 1.在远程主机打开任务管理器,找到rdpcli…

windows如何查看剪贴板历史

改论文的时候,总是因为复制粘贴后找不到上一个复制而烦恼,每次都要alttab来回切换 甚是烦恼,无意间找到访问粘贴板的快捷键分享一下。 WinV 第一步,打开开始菜单栏点击设置 第二步、选择系统设置 第三步、下拉选择剪贴板 第四步…

windows如何修改复制粘贴与剪切快捷键?

背景介绍 在用惯了Mac OS后,发现其复制粘贴的默认快捷键确实好用windows上我们都值是ctrl c / v / x 来实现但是大家在日常使用过程中不觉得ctrl 这几个键手指头按的很费劲吗?究其根本原因还是离的有点远了而我更喜欢用简谱上类似Mac OS 的的位置 Alt …

Windows10剪贴板的使用

在windows10操作系统中,有一个非常好用的软件——剪贴板。使用快捷键(winv)可打开剪贴板。 在剪贴板中历史记录可最多存放25条,容量限制大小为每项4MB,共25个复制条目,先进先出。(2018年10月更…

如何清空windows的系统剪贴板

有的时候我们需要模拟清空系统剪贴板的场景可以如下操作: windows11系统为例子: windows菜单,选择 设置 打开设置面板 搜索 剪贴板 点击清除即可

windows 清空剪切板

清空剪切板有多重方法: 一、方法最快捷 windows徽标键r启动运行,输入cmd打开命令窗口:输入“dir | clip”(不包括引号),回车即可。 Windowsr,输入 cmd /c "echo off | clip" ,Ente…

Windows10如何查看剪切板

一、Ctrlr,输入clipbrd,回车 二、找不到clipbrd.exe 1、网上搜索下载clipbrd.exe,资源很多的。下载之后解压 2、将 clipbrd.exe 复制到 C:\Windows\System32 三、重复第一步 .

【技巧】windows剪切板

快捷键windowv打开常用剪切板

OpenCV--SVM多分类问题

物体识别中经常遇到多分类器问题,svm是比较成熟和直接的想法。一般来说使用svm作为多分类器主要有以下思路: 一对多(one-vs-all)。训练时依次将目标类别作为正样本,其余样本作为负样本,以此训练n个svm。这个在Andrew Ng的Machine…

svm多分类python代码_SVM算法的理解及其Python实现多分类和二分类

原理 SVM被提出于1964年,在二十世纪90年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)问题中有得到应用。 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning) 方式对数据进行二元分类的广…