Was ist eine MPG-Datei?
Eine MPG-Datei enthält typischerweise einen MPEG-Programmstream mit MPEG-1- oder MPEG-2-Video und optional multiplexiertem Audio. Ihre Dateiendung allein gibt weder die genaue Streamversion noch die Codecs an.
So funktionieren MPG-Dateien
Die Dateiendungen .mpg und .mpeg sind eine De-facto-Konvention, keine Formatdeklaration: Die Library of Congress weist darauf hin, dass es kein explizites MPEG-1-Dateiformat gibt. Die meisten solchen Dateien enthalten einen MPEG-1-Systemstream (ISO/IEC 11172-1) oder einen MPEG-2-Programmstream (ITU-T H.222.0, ISO/IEC 13818-1). Ein Programmstream kombiniert die Pakete der Video- und Audiostreams eines Programms, die eine gemeinsame Zeitbasis haben, zu einer Folge von Packs. Jedes Pack beginnt mit dem Startcode 0x000001BA und einer Taktreferenz. Der MPEG-2-Programmstream ist laut Definition vorwärtskompatibel mit dem MPEG-1-Systemstream, und Programmstream-Decoder müssen auch die ältere Form decodieren. Der registrierte Medientyp ist video/mpeg. Ingest-Systeme bestimmen daher Container, Streamtypen, Bildrate und Zeitstempel, bevor sie entscheiden, ob sie remuxen oder codieren.
Wichtige Fakten
- Ein MPG-Programmstream ist kein Transportstream und lässt sich mit einem Transportstream-Parser nicht lesen. H.222.0 beschreibt Programmstream-Pakete als variabel und relativ lang, ausgelegt auf relativ fehlerfreie Umgebungen wie Dateien. Transportstream-Pakete sind dagegen für fehleranfällige Verbindungen vorgesehen und haben eine feste Größe von 188 Bytes. Keines der beiden Formate ist eine Teilmenge des anderen, obwohl der Standard eine Konvertierung zwischen ihnen als möglich und sinnvoll bezeichnet.
- Die Dateiendung verrät weder, ob ein Container oder Audio vorhanden ist, noch, welcher Decoder benötigt wird. FFmpeg registriert
mpgundmpegsowohl für seinen Programmstream-Muxer als auch für rohes MPEG-1-Video ohne Container oder Audio. Sein Programmstream-Demuxer erkennt neben MPEG-1- und MPEG-2-Video sowie MPEG-Audio auch H.264, HEVC, MPEG-4-Video, AAC und AC-3. Richten Sie Positivlisten nach den ermittelten Streamtypen aus, nicht nach.mpg. - MPEG-2-Video enthält Angaben zum Darstellungsverhalten im Bitstream. Ein Konverter, der sie ignoriert, kann eine falsche Halbbildreihenfolge, Bildfolge oder Bildgeometrie erzeugen.
progressive_frame,top_field_firstundrepeat_first_fieldsignalisieren Zeilensprungverfahren, Halbbildreihenfolge und wiederholte Halb- oder Vollbilder. Ihre Bedeutung hängt jedoch vonprogressive_sequenceundpicture_structureab: In einer progressiven Sequenz legt beispielsweisetop_field_firstzusammen mitrepeat_first_fieldfest, ob ein Vollbild einmal, zweimal oder dreimal ausgegeben wird, und nicht, welches Halbbild zuerst kommt.aspect_ratio_informationsignalisiert entweder quadratische Bildpunkte oder ein Darstellungsseitenverhältnis von 4:3, 16:9 oder 2,21:1. Daher ergeben codierte Breite und Höhe allein noch nicht die Darstellungsgeometrie.
Wann MPG-Dateien relevant sind
Analysieren Sie MPG-Dateien von Video-CDs, aus Exporten der DVD-Ära, von älteren Websites oder aus älteren Archiven vor der Verarbeitung. Planen Sie für die Webwiedergabe eine Transkodierung ein: Der Video-Codec-Leitfaden von MDN bezeichnet MPEG-1- und MPEG-2-Video als schlechte Wahl für Websites und führt sie für Chrome, Edge, Firefox und Opera als nicht unterstützt auf. Safari ist die einzige aufgeführte Ausnahme.
So hilft Transloadit bei MPG-Dateien
Transloadits Tabelle der Audio- und Videoformate führt mpeg (MPEG-1 Systems / MPEG-Programmstream) als Format auf, das seine FFmpeg-basierten Robots wie /video/encode lesen und schreiben können.
Die Tabelle ist auf mehrere Seiten verteilt und nach Namen sortiert. Folgen Sie dem Link zur nächsten Seite, um zur Zeile für mpeg zu gelangen. Sie führt nur die Containerunterstützung auf. Daraus geht nicht hervor, dass jede MPG-Quelldatei im Zeilensprungverfahren oder mit ungewöhnlichen Eigenschaften korrekt konvertiert wird. Testen Sie daher repräsentative Dateien.
Entdecken Sie Transloadits Möglichkeiten für Dateiformate & Komprimierung
Quellen
- ITU-T H.222.0 | ISO/IEC 13818-1, MPEG-2 Systeme: Programmstream und Transportstream (Einleitung; Abschnitt 2.5.3 Programmstream; Abschnitt 2.8 Kompatibilität mit ISO/IEC 11172)
- ITU-T H.262 | ISO/IEC 13818-2, MPEG-2 Video: aspect_ratio_information (Tabelle 6-3) und Flags der Syntaxstruktur „picture coding extension“ (6.3.10)
- Formatbeschreibung der Library of Congress: MPEG-1 (Dateitypkennzeichen, Medientypen)
- IANA-Medientypenregister: video/mpeg, video/MP1S, video/MP2P, video/MPV
- FFmpeg n8.0 mpegenc.c: für mpg und mpeg registrierter Programmstream-Muxer
- FFmpeg n8.0 rawenc.c: für mpg, mpeg und m1v registrierter Muxer für rohes MPEG-1-Video
- FFmpeg n8.0 mpeg.c: vom Programmstream-Demuxer erkannte Codecs
- MDN: Leitfaden zu Webvideo-Codecs, Abschnitte zu MPEG-1 Teil 2 Video und MPEG-2 Teil 2 Video (Tabellen zur Browserkompatibilität)