简体   繁体   English

H264有哪些缺点?

[英]what are the disadvantages of H264?

There are lot of articles available on net for understanding h264 and the advantages it provide. 网上有很多文章可供理解h264及其提供的优点。

From a practical implementation point of view, as visual communication is not only about video codec and much more things like resiliency, bandwidth etc etc, can you guys let me know what are the disadvantages of h264 / things that are not addressed in it? 从实际实施的角度来看,由于视觉通信不仅仅是关于视频编解码器,还有更多的东西,如弹性,带宽等等,你们能让我知道h264 /它没有解决的问题有什么缺点吗?

Can you guys also throw some light on any other issues you have specifically faced with h264? 你们能否对你在h264上面临的任何其他问题有所了解? (Interoperability between packet and circuit switched networks, interworking between vendors etc etc) (分组和电路交换网络之间的互操作性,供应商之间的互通等)


Thanks for your insight guys.. 谢谢你的见解人..

As you have mentioned that H264 licensing involves a huge cost, do you people see VP8 (made royalty free) to capture the eyes of the media server vendors.? 正如您所提到的,H264许可涉及巨大的成本,您是否会看到VP8(免版税)来吸引媒体服务器供应商的眼球。

Encoding and decoding complexity: H.264 encoding and decoding is more computationally complex than some other codecs such as MPEG-4 Part 2 (DivX, XviD). 编码和解码复杂性: H.264编码和解码在计算上比其他编解码器(如MPEG-4 Part 2(DivX,XviD))更复杂。 However, the compression performance of H.264 is significantly better than these so it depends on what is more important to you. 但是,H.264的压缩性能明显优于这些,因此它取决于对您来说更重要的内容。

This is becoming less of a problem as more devices are including hardware support for H.264. 随着越来越多的设备包括对H.264的硬件支持,这变得越来越不成问题。

Error Resiliency: There are some things in H.264 to deal with bit errors, but often they are not used and a single bit error can still have a catastrophic effect. 错误恢复能力: H.264中有一些事情可以解决比特错误,但通常不会使用它们,单个比特错误仍会产生灾难性后果。 From what I have seen in my study of video codecs, error resiliency seems to being pushed to another layer in most systems. 从我在视频编解码器研究中看到的情况看,在大多数系统中,错误恢复能力似乎被推到了另一层。 That is, the video codec is designed for maximum compression, and another layer is added on top of the video data to take care of bit errors. 也就是说,视频编解码器被设计用于最大压缩,并且在视频数据之上添加另一层以处理比特错误。 That way those who don't need the error resiliency don't pay for it with lower compression rates. 这样,那些不需要错误恢复能力的人不会以较低的压缩率为其付费。

A common example of this is the DVB standard which uses MPEG-2 or H.264 coded video inside an MPEG-2 Transport Stream that contains a forward error correction scheme. 这种情况的一个常见例子是DVB标准,其在包含前向纠错方案的MPEG-2传输流内使用MPEG-2或H.264编码视频。

Licensing and Royalties: I am no expert (or even reasonably knowledgeable) in this area, but depending on your use case, you may have to pay some kind of royalty to encode to H.264 legally. 许可和版税:我不是这方面的专家(甚至知识渊博),但根据您的使用案例,您可能需要支付某种版税才能合法地编码为H.264。 See this . 看到这个

Other than these, I really don't see any other disadvantages of H.264. 除此之外,我真的没有看到H.264的任何其他缺点。 It seems to be the state of the art for anything from internet quality streamed video to Blue-Ray HD video. 从互联网质量流媒体视频到蓝光高清视频,这似乎是最先进的技术。

I can't really comment with regards to the last question (packet/circuit switched networks, interworking between vendors, etc.) since I have never actually built a hardware system to work with H.264. 关于最后一个问题(分组/电路交换网络,供应商之间的互通等),我无法评论,因为我从未真正构建过使用H.264的硬件系统。 I will say that as long as the encoder creates a valid H.264 stream and you have a decoder that fully implements the standard, you should have no problem getting things to work together. 我要说的是,只要编码器创建了一个有效的H.264流并且你有一个完全实现标准的解码器,你就可以毫无困难地让它们协同工作。 This is the whole point of having a standard. 这是制定标准的重点。

With regard to compression performance, the difference between MPEG-4 part 2 and H.264 is really not as high as it is hyped to be; 关于压缩性能,MPEG-4第2部分和H.264之间的差异实际上并不像它被大肆宣传那么高; I'd say, on the order of 25%, give or take depending on features and settings. 我会说,大约25%,根据功能和设置给予或接受。 At least a third of it comes from using arithmetic coding, which is quite complex computationally compared to pre-H.264 technologies and can take the biggest chunk decoding time at high bitrates. 其至少三分之一来自于使用算术编码,与H.264之前的技术相比,算术编码相当复杂,并且可以在高比特率下获得最大的块解码时间。 Another 10% (not included in the 25% above) are because the deblocking filter is mandatory in most profiles in H.264, but optional in part 2. (And if it's optional, you can be sure that most hardware manufacturers won't bother to implement it.) 另外10%(不包括在25%以上)是因为在H.264的大多数配置文件中必须使用去块滤波器,但在第2部分中是可选的。(如果它是可选的,您可以确定大多数硬件制造商不会懒得去实现它。)

With regard to error resiliency, MPEG-4 part 2 and H.264 both have resiliency tools available. 关于错误恢复能力,MPEG-4第2部分和H.264都具有可用的弹性工具。 Whether anyone actually uses them, depends on the scope of the project. 是否有人实际使用它们取决于项目的范围。 H.264 has several "profiles" with different sets of features. H.264有几个具有不同功能集的“配置文件”。 The most common profile in use with high resolution video is "high profile", which is biased towards higher compression, but does not allow all error resiliency tools. 与高分辨率视频一起使用的最常见配置文件是“高配置”,它偏向于更高的压缩,但不允许所有错误恢复工具。 Not saying that this is a disadvantage, just a fact of life. 不是说这是一个缺点,只是生活中的一个事实。

Yes, you have to pay royalties. 是的,你必须支付版税。 They are either per-encoder / per-decoder or you can pay a fixed amount of money (a lot, IIRC something like 5 million per year) and get permission to distribute your products in any volume you want. 它们是每个编码器/每个解码器,或者您可以支付固定金额(很多,IIRC每年500万),并获得以您想要的任何数量分发您的产品的许可。

Interworking between vendors is quite good, especially as long as you don't try to get creative with features. 供应商之间的互通非常好,特别是只要您不尝试使用功能进行创作。 Many vendors use Allegra streams to test, those streams cover all sorts of feature combinations and corner cases. 许多供应商使用Allegra流进行测试,这些流涵盖了各种功能组合和极端情况。 Virtually everyone will support streams in blu-ray spec. 实际上每个人都会支持蓝光规格中的流。 The bigger concern should be whether the product has enough processing power to fit your needs. 更大的问题应该是产品是否具有足够的处理能力以满足您的需求。 Even a modern high-end CPU can be brought to its knees (or at least seriously loaded) by an attempt to decode a 30 Mbps 1080p H.264 stream at 60 fps in realtime. 通过尝试以60 fps实时解码30 Mbps 1080p H.264流,即使是现代的高端CPU也可能受到挫折(或者至少是严重负载)。 There aren't many chips out there capable to handle that load. 那里没有很多能够处理负载的芯片。

There are a couple of issues you might not have considered. 您可能没有考虑过几个问题。 First, because H.264 uses lossy compression like JPEG (as opposed to PNG), there can be real issues with blurry text and colors that get changed for the worse during the encoding process. 首先,因为H.264使用像JPEG这样的有损压缩(而不是PNG),所以在编码过程中可能存在模糊文本和颜色变得更糟的实际问题。 Your results will depend on the video content being encoded and the bit rate used by the encoder. 您的结果将取决于正在编码的视频内容和编码器使用的比特率。 Computer generated images like screen shots or pixel art will be blurred by the H.264 encoder. H.264编码器将模糊计算机生成的图像,如屏幕截图或像素艺术。 In addition, the output size of the H.264 video could be larger than an APNG or Quicktime Animation encoded file of the same video content (assuming you also use a data compression library like 7zip on the lossless results). 此外,H.264视频的输出大小可能大于相同视频内容的APNG或Quicktime Animation编码文件(假设您还在无损结果上使用7zip等数据压缩库)。

For general purpose video H.264 does some amazing compression. 对于通用视频,H.264做了一些惊人的压缩。 It is only in certain cases that it is not so useful. 只有在某些情况下,它才没有那么有用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM