草庐IT

主流视频编码器特点、优缺点归纳和比较(H.264、HEVC、VP9、AV1)

ppinecone 2023-06-05 原文

目录

视频编码器

H.264

1.定义

H.264,又称H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC),为高度压缩数字视频编解码器标准,是MPEG-4第十部分,收取版税。

H264标准各主要部分有Access Unit delimiter(访问单元分割符),SEI(附加增强信息),primary coded picture(基本图像编码),Redundant Coded Picture(冗余图像编码)。还有Instantaneous Decoding Refresh(IDR,即时解码刷新)、Hypothetical Reference Decoder(HRD,假想参考解码)、Hypothetical Stream Scheduler(HSS,假想码流调度器)。

2.特点

最常见的视频编码格式,是由国际电信联盟制定的,侧重网络传输。
H.264有着更高的数据压缩比,在同等的图像质量,H.264比其他编码格式要高1.5~3倍,所以在网络传输中需要更少的宽带,主要应用于实时传播,比如视频会议

H.264编码的缺点是对播放的硬件系统要求相对比较高。

HEVC

1.定义

High Efficiency Video Coding,又称H.265/HEVC,是一种新的视频压缩标准,用来扩充H.264/AVC编码标准,2013年1月26号,HEVC正式成为国际标准,收取版税。

为了应对互联网流媒体、通信、视频会议、数字存储媒体和电视广播等各种应用对运动图像更高压缩率的日益增长的需求而开发的。

2.特点

HEVC 在客厅中得到了最成功的采用,它被视为 4K 视频的推动者,尤其是具有高动态范围 (HDR) 的 4K。

VP9

1.定义

由Google开发的开放格式、无使用授权费的视频压缩标准。VP9在开发初期曾被命名为Next Gen Open Video (NGOV,下一代开放视频)与VP-Next。VP9将是VP8的后继者。

2.特点

VP9 作为 VP8 的后继产品,主要竞争对手是 MPEG 的高效视频编码标准 HEVC。和 HEVC 相比,VP9 在网络浏览器中有更良好的支持性。它也以其优秀的视频编码质量和压缩效率而被广泛应用于互联网视频网站中。

AV1

1.定义

Alliance for Open Media Video 1,是由AOM(Alliance for Open Media,开放媒体联盟,包括腾讯,亚马逊,Cisco,Google,Intel,Microsoft,Mozilla和Netflix)制定的一个开源、免版权费的视频编码格式,目标是解决H265昂贵的专利费用和复杂的专利授权问题并成为新一代领先的免版权费的编码标准。此外,AV1是google制定的VP9标准的继任者,也是H.265强有力的竞争者。

2.特点

AV1 的目标是取代其前身,即由谷歌开发的VP9视频压缩格式,并与动态图像专家组(MPEG)领导开发的高效率视讯编码(HEVC)以及由中国的数字音视频编码技术标准工作组主导开发的第二代数字音视频编解码技术标准(AVS2)竞争。

视频编码器优缺点归纳

注:本表的优缺点和目前状态部分并不矛盾,前者主要归纳某编码器刚推出时的特点,后者着重强调编码器之间的相互比较。

名称优点缺点主要应用目前状态
H.2641.编码效率高:采用混合编码结构
2.视频画质好:低码率和低带宽提供高质量图像传输
3.压缩技术的效率高:保证数据质量的前提下,数据压缩比高
4.网络适应能力强:可以在实时通信应用低延时模式,在无延时的视频存储或视频流服务器中工作
5.兼容性好:兼容几乎所有浏览器,全部的移动和智能电视/OTT(OTT:指通过公共网络向用户提供内容分发业务,OTT可以使用任何网络接入,内容和服务可以跳过运营商通过网络直接面向用户提供,OTT完全以互联网架构为基础,典型代表有美国谷歌电视Google TV、Hulu、Netflix)
6.编码选项少:降低编码复杂度
7.错误恢复功能:提供解决网络传输包丢失问题的工具,适用高误码率无线网络中传输视频数据
1.编码计算复杂度高,解码复杂度高 H.264压缩效率比MEPG-2提升一倍多的同时,将解码难度提高了至少3倍,运算需求高达100GOPS:
2.对播放的硬件系统要求高
实时传播,比如视频会议,直播1.已经被发明很长时间,很成熟
2.有很全面的硬件兼容能力
3.编码很快,能很快的将视频编码成H.264格式的文件
4.会产生特别大体积文件
5.压缩视频的效率不高
6.不支持4K以上分辨率的视频
7.图像质量不高,原本黑色的东西看起来是灰色的。并且当比特率很低的时候,编码结果会是一块一块的,这种问题很常见
HEVC(H.265)1.码率低,编码效率高:H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说,H.264中每个宏块(macroblock/MB)大小都是固定的16x16像素,而H.265的编码单位可以选择从最小的8x8到最大的64x64,且对图像进行了有重点的编码,从而降低了整体的码率,编码效率就相应提高
2.占存储空间少:同样的画质和同样的码率,H.265比H2.64 占用的存储空间要少理论50%
3.节省带宽:H.265可以使用更少的带宽提供部分与H.264同样的功能
4.网络适应能力更强:H.264可以在低于2Mbps的速度实现标清数字图像传送,而H.265/HEVC可以在低于1.5Mbps的传输带宽下,实现1080p全高清视频传输
1.兼容性差:兼容很少的浏览器,移动设备中的安卓、IOS,和全部的智能电视/OTT
2.解码难度更大
3.解码视频时对电量消耗高
4.实时编码难度大:H.265编码复杂度较之H.264呈几何增长,编码用时也随之增长,以现有的终端设备难以实现实时编码
5.编码器使用难度大:H.265只是规定了一个可用技术的范围,编码时很多特性可以用,也可以不用。所以H.265编码器的使用难度大概是x264的2-3倍不止
1. 目前H.265几乎没有在直播领域应用,多在点播领域
2. 在企业、安防中使用较为广泛
3.4K蓝光视频 主要用HEVC
1.较之H.264,在压缩效率上有极大的提升
2.HEVC文件在编码同一个视频时,相比H.264而言文件体积仅是后者的50%,但是可以获得相同的视频质量
3.较之H.264,颜色看起来更好,人为更改看上去更不明显
4.支持 8K(8192×4320) 及以上的分辨率
5.不被iOS设备所支持,而且在大多数PC上的表现都很差;不能将HEVC编码的视频上传到YouTube上,因为YouTube不支持这个输入格式
6.专利授权复杂
7.想要保证很小的文件体积所需要付出的代价是更长的编码时间,以及在播放时所需的更大功率
8.芯片制造商正在发布SDK来允许HEVC视频在编解码的过程中使用硬件加速,这样可以大幅度的提高处理速度
VP91.编码成本低:与AV1相比,VP9可以节省很多编码时间和计算成本。对于观看时间不长的视频,AV1多码率编码带来的成本增加可能会比AV1其节省的流量费用还要多
2.Chrome类浏览器不支持HEVC解码,而VP9内容视频可以通过使用硬件加速在一些主流设备上播放
3.能在低端Android设备上更好的播放:HEVC和AV1在一些低端Android设备上无法很好地播放。对于1080p+或胶片噪声视频,VP9的性能接近HEVC,在某些情况下,VP9的性能有时甚至优于HEVC
4.无需版权费
1.应用并不广泛:在实际推广中,微软、苹果等公司不愿看到 VP9 一家独大,其他互联网厂商也不希望主流视频编码格式被垄断,因此目前在主要在 Google 自家的产品中得到支持,其他使用 VP9 的大厂并不多
2.编码速度慢:与HEVC相比,由于没有任何硬件加速编码可供VP9使用所以会更慢一些
3.不适用某些视频播放器播放:如VLC,不能流畅的播放VP9,其他基于FFplay的播放器,比如MPC-VC就没有这个问题
1.点播
2.互联网应用场景中使用较多:因为VP9 简易、实用的解决方案以及开发免费的特性
1.较之H.265,VP9在压缩比HD还大的视频文件上要更高一筹,因此VP9可能非常适合用于高分辨率VR视频
AV11.压缩率高:相比VP9,压缩率进一步提升,同等画质下可比VP9节约30%的码率
2.无需版权费
1.编码速度慢:AV1编码缓慢,虽然有多线程优化的因素,但从根本上说还是因为计算太过复杂
2.涉及垄断竞争 :电视系统巨头ROKU表示谷歌”要求合作伙伴在新推出的产品中必须支持AV1,包括安卓电视、谷歌系统电视和其他支持相关软件的智能电视,都得支持AV1编码格式“的这种做法,就是强迫所有电视支持AV1系统,属于垄断行为
应用场景为流媒体,支持直播和点播1.对于8K 视频,AV1 的性能优势更为突出,比如现在在油管、奈飞以及亚马逊观看的众多流媒体视频,已经采用AV1编码格式,特别是8K视频

视频编码器比较

发布时间:
H.264(2003年)–>H.265(2012年)–>VP9(2013年)–>AV1(2018年)

是否需要专利授权费用:
H.264(需要)–>H.265(需要)–>VP9(不需要)–>AV1(不需要)

兼容性:
H.264>VP9>AV1>HEVC

有关主流视频编码器特点、优缺点归纳和比较(H.264、HEVC、VP9、AV1)的更多相关文章

  1. ruby - rspec模拟与其他模拟框架的优缺点是什么? - 2

    我看过很多过时的播客,其中提到摩卡是我想安装的一个宝石,因为它确实比rspec更好模仿。我有一种感觉,rspec开发人员已经意识到这一点,并从那时起改进了他们的模拟。但是,在默认的spec_helper.rb文件中,我看到三个模拟框架的一些注释掉的代码存根mochaflexmockrr向任何能给我一个像样答案的人投赞成票,就这些框架中至少一个的利弊与rspec自己的模仿框架进行比较。如果你能给我一个关于这三个问题的详细说明,我会接受你的回答。 最佳答案 真的,这只是口味的问题。看一看语法,看看什么最适合你。当然,使用rspec的内置

  2. ruby-on-rails - asset_packager 和 Jammit 的优缺点是什么? - 2

    乍一看,它们似乎是针对同一问题的几乎相同的解决方案,但Jammit一定有一些我没有注意到的关键差异或改进,否则它的作者可能只是使用了asset_packager。:-)谁能教教我? 最佳答案 当然。以下是一些主要区别:Jammit不是使用简单的基于Ruby的CSS和JS压缩器,而是让使用YUICompressor或新的GoogleClosureCompiler来压缩您的Assets变得容易。Jammit不必单独指定每个文件,而是使用目录glob的有序列表来定义Assets包。这意味着您可以这样说:首先给我jQuery,然后是vend

  3. H264压缩原理 - 2

    1、为什么压缩的原始数据一般采用YUV格式(1)利用人对图片感觉的生理特性,对于亮度信息比较敏感,对于色度信息不太敏感,所以视频编码是将Y分量和UV分量分开来编码,并且可以减少UV分量.2、视频压缩原理(1)空间冗余:图像相邻像素之间的相关性,比如一帧图片被划分成多个16x16的块之后,相邻的块之间有很多明显的相似性。(2)时间冗余:时间相差较近的两张图片变化较小。(3)视觉冗余:我们的眼睛对某些细节不太敏感,对图像中的高频信息的敏感度小于低频信息,可以去除一些高频信息。(4)编码冗余:一幅图片中不同像素出现的概率是不同的,对于出现次数较多的像素,用少的位数来编码,对于出现次数较少的像素,用多

  4. ruby - Ruby 通用定界输入的优缺点是什么? (百分比语法) - 2

    我不明白为什么有些人在ruby​​中大量使用百分比语法。例如,我正在阅读rubypluginguide它使用如下代码:%w{modelscontrollers}.eachdo|dir|path=File.join(File.dirname(__FILE__),'app',dir)$LOAD_PATH每次看到这样的东西,我都得去查找百分比语法引用,因为我不记得%w是什么意思。这种语法真的比["models","controllers"].each...更可取吗?我认为在后一种情况下,我定义了一个字符串数组更清楚,但在前一种情况下——尤其是对于学习ruby​​的人来说——似乎不太清楚,至少

  5. ruby-on-rails - Rails 4 中的 Asset-Pipeline/Turbolinks 对于大型应用程序的优缺点是什么? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我们正在开发一个相当大且广泛的应用程序。该网站将有许多不同的部分,具有一些非常不同的用户界面要求和行为。展望future,Rails4将Assets管道分离到一个单独的gem中,因此我们可以选择包含或不包含它。turbolinks可能会发生同样的事情。这些天我一直在问自己但找不到答案的问题是:我是否应该在我们的项目中使用这些库?我反射(reflect)的主

  6. sql - 在 ActiveRecord 中存储序列化哈希与键/值数据库对象的优缺点? - 2

    如果我有几个对象,每个对象基本上都有一个Profile,我用什么来存储随机属性,有什么优缺点:在记录列中存储序列化哈希,对比存储一组属于主对象的键/值对象。代码假设您有这样的STI记录:classBuilding:profilableendclassOfficeBuilding每个has_one:profile选项1.序列化哈希classSerializedProfiletruedo|t|t.string:namet.string:websitet.string:emailt.string:phonet.string:typet.text:settingst.integer:profi

  7. ruby-on-rails - RubyMine 和 TextMate 的优缺点 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。现在Netbeans正在停止对Ruby的支持,我需要转向“正式的”Ruby(onRails)IDE。我不想开始一场挑衅war,但我是否愿意听听使用TextMate或RubyMine作为IDE的优缺点,以帮助我选择我应该投入时间的,尤其是来自正在使用IDE的人每天都有一个(“在战壕里”)。我现在的想法是:文字伴侣Pro:似乎是事实上的标准缺点:我有点担心更

  8. Ruby vs Scala——各自的优缺点 - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。有什么好处和限制Scala与Ruby比较的语言,尤其是从Web应用程序开发人员的角度来看?强烈欢迎比较图表和证明链接。P.S.这不是圣战题(-:

  9. ruby-on-rails - 机械师 vs FactoryGirl - 优缺点 - 2

    我正在与factory_girl一起工作,但正在研究机械师gem。你能告诉我-迁移到机械师的利弊是什么?您是否比较过这些库? 最佳答案 Machinist实际上深受factory_girl启发,但因机械师的作者想要不同的语法而有所不同。此后,factory_girl添加了不同的语法层来模拟其他工厂库(包括机械师的“蓝图”语法)。换句话说,两者非常相似,只是默认语法不同。我个人使用factory_girl。 关于ruby-on-rails-机械师vsFactoryGirl-优缺点,我们在S

  10. javascript - 一种附加事件监听器的方法,所有主流浏览器都支持 - 2

    我需要编写一段代码,将监听器附加到选定的事件,并且可以在任何流行的浏览器的任何版本中运行。经过一些搜索后,我得出了以下功能:functionaddListener(event,thefunction){if(window.addEventListener){//Allbrowsers,exceptIEbeforeversion9.window.addEventListener(event,thefunction,false);}elseif(window.attachEvent){//IEbeforeversion9.window.attachEvent(event,thefuncti

随机推荐