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.
Jason b
source share