What are the disadvantages of H264?

There are many articles available online to understand h264 and the benefits it provides.

From the point of view of practical implementation, since visual communication is not only related to the video codec and many other things, such as fault tolerance, bandwidth, etc., can you guys tell me what are the disadvantages of h264 / things that are not covered in this is?

Can you guys also talk about any other issues you encountered with h264? (Interaction between packet-switched and circuit-switched networks, interaction between providers, etc.)


Thanks for your insightful guys ..

As you already mentioned that licensing H264 comes at a huge cost, you see that VP8 (without royalties) captures the eyes of media server providers.

+6
video
source share
3 answers

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

This is becoming less problematic as more and more devices include H.264 hardware support.

Error tolerance: There is something in H.264 to deal with bit errors, but they are often not used, and one bit error can still have a catastrophic effect. From what I saw in my study of video codecs, in most systems, fault tolerance refuses to another level. 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. Thus, those who do not need fault tolerance errors do not pay for it with lower compression ratios.

A common example of this is the DVB standard, which uses MPEG-2 or H.264 encoded video within an MPEG-2 transport stream containing a forward error correction circuit.

Licensing and royalties: I'm not an expert (or even knowledgeable enough) in this area, but depending on your use case, you may have to pay some kind of royalties to legally encode H.264. See this .

Other than that, I really don't see any other disadvantages of H.264. This seems like a state of the art for everything from streaming video with Internet quality to Blue-Ray HD video.

I can’t comment on the last question (packet / channel switching networks, interaction between providers, etc.), since I never 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.

+7
source share

As for compression performance, the difference between MPEG-4 part 2 and H.264 is actually not as high as it is bloated; I would say, about 25%, give or take, depending on the features and settings. At least a third of them come from the use of arithmetic coding, which is rather difficult to calculate in comparison with technologies before H.264 and can take the longest decoding time of blocks at high bitrates. Another 10% (not included in the 25% above) is due to the fact that the release filter is mandatory in most profiles in H.264, but not necessarily in part 2. (And if this is not necessary, you can be sure that most equipment manufacturers do not will take care of its implementation.)

In terms of fault tolerance, MPEG-4 Part 2 and H.264 have fault tolerance tools. Regardless of whether he actually uses them, it depends on the size of the project. H.264 has several β€œprofiles” with various feature sets. The most common profile used with high-resolution video is the "high profile", which is biased toward higher compression, but does not allow the use of all fault tolerance tools. Not to say that this is a flaw, just a fact of life.

Yes, you have to pay royalties. They are either designed for an encoder / decoder, or you can pay a fixed amount of money (a lot, IIRC about 5 million a year) and get permission to distribute your products in any amount you want.

The interaction between the providers is not bad, especially if you are not trying to be creative with the features. Many vendors use Allegra streams for testing, these streams cover all sorts of combinations of functions and corner cases. Almost everyone will support streams in the blu-ray specification. More concern should be whether the product has sufficient processing power to meet your needs. Even a modern high-performance CPU can be pulled to its knees (or at least seriously loaded) by trying to decode a H.264 stream with a throughput of 30 Mbps at 60 frames per second in real time. There are not many chips capable of handling this load.

+3
source share

There are several issues that you may not have addressed. Firstly, since H.264 uses lossy compression such as JPEG (as opposed to PNG), there may be real problems with blurry text and colors that degrade during the encoding process. Your results will depend on the encoded video content and the bit rate used by the encoder. Computer-generated images, such as screen shots or pixel art, will be blurred by the H.264 encoder. In addition, the output size of an H.264 video may be larger than an APNG or Quicktime Animation file with the same video content (provided that you also use a data compression library such as 7zip in lossless results).

For general-purpose video, H.264 does amazing compression. Only in some cases is this not so useful.

0
source share

All Articles