Sind „mp2v“ und „mpgv“ gültige MPEG-2-Codec-Tags in einem MOV?

Diese Frage bezieht sich auf Was ist das richtige MPEG-2 FourCC? und zu einer offenen Diskussion, die derzeit auf der ffmpeg-user-Mailingliste geführt wird :

Ich frage mich, ob ich einen Fehlerbericht über die MOV-Ausgabe einreichen sollte. Offene Fragen in diesem Sinne sind jedoch:

...

  • Ist es ein Fehler, dass mpg2 und mpgv dazu führen, dass die MOV-Ausgabe fehlschlägt, oder ist das das richtige Verhalten?

Es scheinen zahlreiche mögliche Tags für MPEG-2-Videos verwendet zu werden, insbesondere m2v1, mp2v, mpg2und mpgv.

Jetzt schlägt ffmpeg fehl mit z. B. "Tag mpgv/0x7667706d inkompatibel mit Ausgabe-Codec-ID '2' (m2v1)", wenn die Ausgabe MOV ist und entweder mpg2oder mpgvangegeben ist:

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 dies gelingt für AVI. Das Standard-Tag von Ffmpeg für MPEG-2 in AVIs ist mpg2.

Ein Teil eines Fehlerberichts, den ich für die MOV-Ausgabeverarbeitung von ffmpeg schreibe, kann das Fehlerverhalten mpg2und enthalten mpgv(wobei das gewünschte Verhalten Erfolg ist), aber bevor ich das tue, muss ich sicher sein, dass dieses Verhalten eher ein Fehler als ein angemessenes Verhalten ist.

Meine Frage läuft also darauf hinaus: Sind mpg2und mpgvgültige, zulässige alternative Tags für MPEG-2-Videos in einer MOV-Datei , und gibt es andere? Ich suche eher nach offiziellen Apple-Quellen und MOV-Spezifikationen als nach anekdotischen Beweisen oder Listen allgemein beobachteter FourCCs / Codec-IDs.

Ich weiß, dass zumindest laut Wikipedia MPEG-2-Video in einem MOV eine akzeptable Kombination ist, ich bin mir nur nicht sicher, was der akzeptable Satz von Codec-Tags in MOVs ist. Bei dieser Frage geht es nicht um die "richtige" MPEG-2-ID im Allgemeinen, sondern um die zulässigen Varianten speziell bei MOVs.

Antworten (1)

MPEG-2 scheint kein offiziell genehmigter Codec für den Quicktime-Container zu sein. Die offizielle Spezifikation enthält einen Abschnitt, der sich auf MPEG-1 in MOV bezieht, aber nicht auf MPEG-2. Die US Library of Congress hat auch keinen Eintrag für den Subtyp MPEG-2 in MOV, wie es für MPEG-1 (nur QTV_MPEG genannt) der Fall ist.

Es gibt also kein offizielles Wort zu „zulässigen alternativen Tags“. Man kann nur MPEG-2-MOVs untersuchen und sehen, ob Apps, insbesondere Apple-Apps, sie abspielen oder nicht, und einen Umfragebericht erstellen. Da jede App ihre eigene Verfügung darüber hat, ob sie eine Datei mit einer bestimmten Codec-ID abspielt oder nicht, würde dieser Bericht nach App, dh VLC, Quicktime-Player, kategorisiert werden. FCP usw.

Beispielsweise erkennt VLC die folgenden Tags für generisches MPEG-2, dh nicht IMX oder XDCAM:

    A("mpeg"),
    A("mp2v"),
    A("MPEG"),
    A("mpg2"),
    A("MPG2"),
    A("H262"),
Vielen Dank. Ich wusste, dass es nicht einfach werden würde. In dem von Ihnen verlinkten Dokument heißt es: „Tabelle 4-1 zeigt einige der unterstützten Formate. Die Liste ist nicht vollständig und kann ergänzt werden.“ Obwohl es MPEG-2 nicht definiert, macht es es auch nicht einfach, indem es es explizit verbietet. Außerdem bin ich sicher, dass Apple-Software es tatsächlich seit einiger Zeit verwendet. Ich weiß, dass der "Compressor" von FCP X dies tut, und die ffmpeg-Quelle enthält einen Kommentar, der darauf hinweist, dass FCP 5 dies getan hat. Das Wichtigste ist jedoch, mp2vund mpgvscheint nicht ausdrücklich verboten zu sein. Ich werde damit gehen.
" Liste ist nicht vollständig " -> stimmt, aber MPEG-2 war zum Zeitpunkt der ursprünglichen Spezifikation das vorherrschende ISO-Format. Dieser Haftungsausschluss deckt wahrscheinlich Nischen-Codecs wie Camcorder ab, die eine benutzerdefinierte Variante von MJPEG verwenden.