0

This question is related to What is the correct MPEG-2 FourCC? and to an open discussion currently on the ffmpeg-user mailing list:

I am wondering if I should file a bug report about the MOV output. Open questions in that vein, though, are:

...

  • Is it a bug that mpg2 and mpgv cause MOV output to fail or is that correct behavior?

There seem to be numerous possible tags in use for MPEG-2 video, in particular m2v1, mp2v, mpg2, and mpgv.

Now, ffmpeg fails with e.g. "Tag mpgv/0x7667706d incompatible with output codec id '2' (m2v1)" when the output is MOV and either mpg2 or mpgv is specified:

ffmpeg ... -vcodec mpeg2video -f mov ...             # succeeds (m1v1)
ffmpeg ... -vcodec mpeg2video -vtag mp2v -f mov ...  # succeeds
ffmpeg ... -vcodec mpeg2video -vtag mpg2 -f mov ...  # fails
ffmpeg ... -vcodec mpeg2video -vtag mpgv -f mov ...  # fails

All of those succeed for AVI. Ffmpeg's default tag for MPEG-2 in AVIs is mpg2.

Part of a bug report that I am writing for ffmpeg's MOV output handling may include the mpg2 and mpgv failure behavior (with the desired behavior being success), but before I do that I need to be certain that this behavior is a bug rather than appropriate behavior.

So my question boils down to this: Are mpg2 and mpgv valid, allowable alternative tags for MPEG-2 video in an MOV file, and are there others? I am looking for official Apple sources and MOV specifications rather than anecdotal evidence or lists of generally observed FourCC's / codec IDs.

I know that, at least according to Wikipedia, MPEG-2 video in an MOV is an acceptable combination, I'm just not sure what the acceptable set of codec tags are in MOVs. This question is not about the "correct" MPEG-2 ID in general cases, it is about the allowable variants specifically in MOVs.

4

MPEG-2 doesn't seem to be an officially sanctioned codec for the Quicktime container. The official specification has a section related to MPEG-1 in MOV but not MPEG-2. The US Library of Congress also does not have an entry for the subtype MPEG-2 in MOV, like it does for MPEG-1 (just called QTV_MPEG).

So, there's no official word on "allowable alternative tags". One can only examine MPEG-2 MOVs and see whether apps, specifically, Apple apps, play them or not and prepare a survey report. Since each app has its own fiat on whether it plays a file with a certain codec ID or not, that report whould be categorized by app i.e. VLC, Quicktime player. FCP..etc.

As an example, VLC recognizes the following tags for generic MPEG-2 i.e. not IMX or XDCAM:

    A("mpeg"),
    A("mp2v"),
    A("MPEG"),
    A("mpg2"),
    A("MPG2"),
    A("H262"),
  • Thanks. I knew it wouldn't be easy. In the document you linked to it says "Table 4-1 shows some of the formats supported. The list is not exhaustive, and is subject to addition." So while it doesn't define MPEG-2, it doesn't make it simple by explicitly disallowing it either. Further, I'm sure Apple software actually has been using it for some time. I know FCP X's "Compressor" does, and the ffmpeg source has a comment hinting that FCP 5 did. Still, the important thing is, mp2v and mpgv don't seem to be explicitly disallowed. I'll go with that. – Jason C Jan 28 '16 at 22:03
  • "list is not exhaustive" -> true, but MPEG-2 was the dominant ISO format at the time of the original spec. That disclaimer probably covers niche codecs such as camcorders using some custom variant of MJPEG. – Gyan Jan 29 '16 at 4:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.