H264的缺点是什么?

发布于 2024-10-07 12:55:45 字数 271 浏览 3 评论 0原文

网上有很多文章可以帮助您了解 h264 及其提供的优势。

从实际实现的角度来看,由于视觉通信不仅涉及视频编解码器,还涉及弹性、带宽等更多内容,你们能让我知道 h264 的缺点是什么/其中未解决的问题吗?

你们还可以谈谈您在 h264 方面遇到的任何其他问题吗? (数据包和电路交换网络之间的互操作性、供应商之间的互操作等)


感谢您的见解。

正如您所提到的,H264 许可涉及巨大的成本,你们是否看到 VP8(免版税)来吸引人们的目光?媒体服务器供应商。

There are lot of articles available on net for understanding h264 and the advantages it provide.

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?

Can you guys also throw some light on any other issues you have specifically faced with 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.?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

⊕婉儿 2024-10-14 12:55:45

编码和解码复杂性:H.264 编码和解码的计算复杂度比某些其他编解码器(例如 MPEG-4 Part 2(DivX、XviD))更复杂。然而,H.264 的压缩性能明显优于这些,因此这取决于什么对您来说更重要。

随着越来越多的设备包含对 H.264 的硬件支持,这已不再是一个问题。

错误恢复能力: H.264 中有一些东西可以处理比特错误,但通常它们没有被使用,单个比特错误仍然可能产生灾难性的影响。从我对视频编解码器的研究来看,在大多数系统中,错误弹性似乎被推到了另一层。也就是说,视频编解码器旨在实现最大压缩,并在视频数据之上添加另一层以处理比特错误。这样,那些不需要错误恢复能力的人就不必为较低的压缩率付出代价。

一个常见的示例是 DVB 标准,该标准在包含前向纠错方案的 MPEG-2 传输流中使用 MPEG-2 或 H.264 编码视频。

许可和版税:我不是该领域的专家(甚至不是相当有知识),但根据您的使用案例,您可能需要支付某种版税才能合法编码为 H.264。请参阅

除了这些,我实在看不出H.264还有什么缺点。从互联网质量的流媒体视频到蓝光高清视频,这似乎都是最先进的技术。

我无法真正评论最后一个问题(分组/电路交换网络、供应商之间的互通等),因为我从未真正构建过与 H.264 一起使用的硬件系统。我想说的是,只要编码器创建有效的 H.264 流,并且您有一个完全实现该标准的解码器,那么您就可以毫无问题地协同工作。这就是制定标准的全部意义所在。

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). However, the compression performance of H.264 is significantly better than these so it depends on what is more important to you.

This is becoming less of a problem as more devices are including hardware support for 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. 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.

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. See this.

Other than these, I really don't see any other disadvantages of 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. 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. This is the whole point of having a standard.

强辩 2024-10-14 12:55:45

就压缩性能而言,MPEG-4 Part 2 和 H.264 之间的差异实际上并不像宣传的那么大;我想说,大约 25%,根据功能和设置给予或减少。其中至少三分之一来自使用算术编码,与 H.264 之前的技术相比,算术编码的计算相当复杂,并且在高比特率下可能需要最长的块解码时间。另外 10%(不包括在上面的 25% 中)是因为解块滤波器在 H.264 中的大多数配置文件中是强制性的,但在第 2 部分中是可选的。(如果它是可选的,您可以确定大多数硬件制造商不会)

关于错误弹性,MPEG-4第2部分和H.264都有可用的弹性工具。是否有人真正使用它们取决于项目的范围。 H.264 有多个具有不同功能集的“配置文件”。高分辨率视频最常见的配置文件是“high profile”,它偏向于更高的压缩,但不允许所有错误弹性工具。并不是说这是一个缺点,只是生活的一个事实。

是的,你必须支付版税。它们要么是每个编码器/每个解码器,要么您可以支付固定金额(很多,IIRC 每年 500 万美元)并获得许可以您想要的任何数量分发您的产品。

供应商之间的交互非常好,特别是当您不尝试在功能上发挥创意时。许多供应商使用 Allegra 流进行测试,这些流涵盖了各种功能组合和极端情况。事实上每个人都会支持蓝光规格的流。更大的担忧应该是产品是否有足够的处理能力来满足您的需求。即使是现代高端 CPU 也可能会因尝试实时解码 60 fps 的 30 Mbps 1080p H.264 流而崩溃(或至少严重负载)。没有多少芯片能够处理这种负载。

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; I'd say, on the order of 25%, give or take depending on features and settings. 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. 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.)

With regard to error resiliency, MPEG-4 part 2 and H.264 both have resiliency tools available. Whether anyone actually uses them, depends on the scope of the project. H.264 has several "profiles" with different sets of features. 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.

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. 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. There aren't many chips out there capable to handle that load.

Smile简单爱 2024-10-14 12:55:45

有几个问题您可能没有考虑到。首先,由于 H.264 使用像 JPEG(而不是 PNG)这样的有损压缩,因此可能会出现模糊文本和颜色的实际问题,这些问题在编码过程中会变得更糟。您的结果将取决于正在编码的视频内容和编码器使用的比特率。计算机生成的图像(例如屏幕截图或像素艺术)将被 H.264 编码器模糊。此外,H.264 视频的输出大小可能比相同视频内容的 APNG 或 Quicktime Animation 编码文件大(假设您还在无损结果上使用 7zip 等数据压缩库)。

对于通用视频,H.264 做了一些惊人的压缩。只是在某些情况下它没有那么有用。

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. 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. 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).

For general purpose video H.264 does some amazing compression. It is only in certain cases that it is not so useful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文