[FFmpeg-user] What video formats to support?

Andrew Berg bahamutzero8825 at gmail.com
Wed Jun 1 13:15:51 CEST 2011


On 2011.06.01 05:50 AM, Dotan Cohen wrote:
> Let me see if I understand correctly: to play this file:
> $ ffmpeg -i file.avi
> Stream #0.0: Video: mpeg4
> The player must support the avi container and the mpeg4 codec.
> However, their are multiple implementations of the mpeg4 codec, and
> the implementation is not specified here. So to ensure compatibility
> the player should support all common implementations of mpeg4, two of
> which are DivX and Xvid.
Yes. All (working) encoders conform to the standard. Decoders are
supposed to support all parts of a standard, though this isn't always
the case (decoder developers may not bother to implement certain things
if popular encoders don't use them). In general, if a player supports a
certain standard, it supports all (common) implementations.
> Futhermore, there exists differing mpeg4 "parts" which require codecs
> different to the ones mentioned above.
Two parts are video compression standards (MPEG-4 video and AVC), one is
an audio compression standard (AAC), one is the container standard, one
is a subtitle standard, and I forget what the others are. The parts are
simply the formal names for the standards. For example, MPEG-4 Part 10
is another name for AVC, which is another name for H.264. I didn't mean
to confuse you; I only wanted to point out that "mpeg4" does not mean
AVC/H.264. The only name for that standard that couldn't be confused
with AVC is "MPEG-4 Part 2".

> If I understand correctly, if a machine states that it supports:
> M/RMVB, MKV, MOV, FLV, H.264, VOB, AVC, AVI, DIVX, HDMOV DAT, PMP,
> mp4, MPEG1/2/4
> Then that is a mix of container formats, codecs, implementations, and parts?
Codecs and implementations are the same thing, but yes, that is a mix.
It can be confusing, but the idea is to drop a word that someone is
familiar with.


More information about the ffmpeg-user mailing list