MPEG-4-Dateiquelle
Die MPEG-4-Dateiquelle analysiert MP4- und 3GPP-Dateien. Weitere Informationen zum MP4-Dateiformat finden Sie in den folgenden Standarddokumenten:
- ISO/IEC 14496-12: Informationstechnologie -- Codieren von audiovisuellen Objekten -- Teil 12: ISO Base Media File Format
- ISO/IEC 14496-14: Informationstechnologie -- Codieren von audiovisuellen Objekten -- Teil 14: MP4-Dateiformat
Anmerkung
(Diese Ressourcen sind in einigen Sprachen und Ländern möglicherweise nicht verfügbar.)
Die MPEG-4-Dateiquelle decodiert die Audio-/Videodaten in der Datei nicht.
Dieses Thema enthält die folgenden Abschnitte:
Dateierweiterungen und MIME-Typen
Die MPEG-4-Dateiquelle ist die Standardmedienquelle für die folgenden Dateinamenerweiterungen.
Dateiendung | Beschreibung |
---|---|
3g2 | 3GPP2 |
.3gp | 3GPP |
3gp2 | 3GPP2 |
.3gpp | 3GPP |
.m4a | MPEG-4-Audio |
.m4v | MPEG-4-Video |
.Mov | Apple QuickTime-Film |
.mp4 | MPEG-4-Audio oder -Video |
MP4v | MPEG-4-Video |
Es ist auch die Standardmedienquelle für die folgenden MIME-Typen.
MIME-Typ | Beschreibung |
---|---|
audio/3gpp | 3GPP-Audio |
audio/3gpp2 | 3GPP2-Audio |
audio/mp4 | MPEG-4-Audio |
Video/3gpp | 3GPP-Video |
Video/3gpp2 | 3GPP2-Video |
Video/mp4 | MPEG-4-Video |
Medientypen
MP4 ist ein erweiterbares Containerformat. Die MP4-Spezifikation definiert keine feste Struktur zum Beschreiben von Medientypen in einem MP4-Container. Stattdessen wird eine Objekthierarchie definiert, mit der benutzerdefinierte Strukturen für jedes Format definiert werden können. Die Formatbeschreibung wird im Beispielbeschreibungsfeld ('stsd') für diesen Datenstrom gespeichert. Das Beispielbeschreibungsfeld enthält eine Liste mit Beispieleinträgen. Für jeden Beispieleintrag definiert ein 4-Byte-Code, ähnlich einem FOURCC, die Formatstruktur.
Diese Erweiterbarkeit bedeutet, dass die MPEG-4-Dateiquelle nicht jede mögliche Formatbeschreibung erkennen kann. Stattdessen wird beim Erstellen von Medientypen für die Datenströme ein zweistufiger Ansatz verwendet. Mindestens jeder Medientyp enthält die folgenden Attribute.
Attribut | Beschreibung |
---|---|
MF_MT_MAJOR_TYPE | Gleich MFMediaType_Audio oder MFMediaType_Video. |
MF_MT_SUBTYPE | Gibt den Datenstromuntertyp an. |
MF_MT_MPEG4_SAMPLE_DESCRIPTION | Enthält das vollständige Beispielbeschreibungsfeld als binäres Blob. |
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY | Gibt den aktuellen Eintrag im Beispielbeschreibungsfeld an. |
Die MPEG-4-Dateiquelle erkennt einige Beispieleintragstypen. Für diese Einträge kann die Formatstruktur analysiert und ein vollständiger Medientyp mit zusätzlichen Attributen erstellt werden, die die Formatdetails beschreiben. Siehe Medientypattribute.
Die MPEG-4-Dateiquelle kann die folgenden Beispieleinträge analysieren.
Beispieleintragscode | Haupttyp | Subtyp | Beschreibung | Notizen |
---|---|---|---|---|
"alaw" | Audio | WAVE_FORMAT_ALAW | A-Law Coding | |
'jpeg' | Video | MFVideoFormat_MJPG | Photo-JPEG Stream | Das QuickTime-Containerformat unterstützt auch Motion JPEG-Streams mit "mjpa"- oder "mjpb"-Einträgen, die MPEG-4-Dateiquelle stellt jedoch keinen vollständigen Medientyp für diese Typen bereit. |
'avc1' | Video | MFVideoFormat_H264 | H.264-Video | |
'mp4a' | Audio |
MFAudioFormat_AAC MFAudioFormat_MP3 |
AAC oder MP3 | Der Eintrag "mp4a" kann andere MPEG-Audioformate beschreiben, aber die MPEG-4-Dateiquelle analysiert die Formatstruktur nicht. |
'mp4v' | Video |
MFVideoFormat_M4S2 MFVideoFormat_MP4V |
MPEG-4 Teil 2 |
MFVideoFormat_M4S2 wird für MPEG-4 Teil 2 Simple Profile verwendet. MFVideoFormat_MP4V wird für alle anderen MPEG-4 Teil 2-Profile verwendet, einschließlich Advanced Simple Profile. |
"raw" | Audio | MFAudioFormat_PCM | 8-Bit PCM-Audio | |
"Sowt" | Audio | MFAudioFormat_PCM | 16-Bit-Little-End-PCM-Audio | |
"Twos" | Audio | MFAudioFormat_PCM | 16-Bit-Big-End-PCM-Audio | Die MPEG-4-Dateiquelle konvertiert die Audiodaten in das little-endian-Format. |
"ulaw" | Audio | WAVE_FORMAT_MULAW | μ-Rechtscodierung | |
'vc-1' | Video | MFVideoFormat_WVC1 | VC-1-Video | |
'NONE' | Audio | MFAudioFormat_PCM | 8-Bit- oder 16-Bit-Big-End-PCM-Audio | Die MPEG-4-Dateiquelle konvertiert die Audiodaten in das little-endian-Format. |
0x00000000 | Audio | MFAudioFormat_PCM | 8-Bit- oder 16-Bit-Big-End-PCM-Audio | Die MPEG-4-Dateiquelle konvertiert die Audiodaten in das little-endian-Format. |
0x6d730002 | Audio | WAVE_FORMAT_ADPCM | Adaptive Differentialpulscode-Modulation (ADPCM) | |
0x6d730011 | Audio | WAVE_FORMAT_IMA_ADPCM | ADPCM |
Für alle anderen Codes, die in der vorherigen Tabelle nicht angezeigt werden, legt die MPEG-4-Dateiquelle den Untertyp wie folgt fest:
- Untertyp = MFMPEG4Format_Base
- Untertyp. Data1 = Beispieleintragscode
Für Codes, die nicht in der Tabelle angezeigt werden, muss ein Decoder das attribut MF_MT_MPEG4_SAMPLE_DESCRIPTION verwenden, um das Beispielbeschreibungsfeld zu analysieren.
Eine Liste der Beispieleintragscodes und Links zu relevanten Spezifikationen finden Sie auf der website "MP4"-Registrierungsstelle.
Begrenzungen
Die MPEG-4-Dateiquelle unterstützt nicht die folgenden Features von MP4-Dateien:
- Externe Spuren.
- Filmfragmente ('moof' oder 'mfra'). "moof" wird in Windows 8 unterstützt.
- Gestreamte Präsentationen. Die MPEG-4-Dateiquelle ignoriert automatisch Hinweisspuren.
- Suchen nach SMPTE-Zeitcode.
- Komprimierte Atome ('cmov').
Nur Video- und Audiodatenströme werden unterstützt. Alle Spuren, die andere Datenstromtypen enthalten, werden im Hintergrund ignoriert. Mediendaten müssen in "mdat"-Atomen platziert werden.
Wenn die Ergänzung für Plattformupdates für Windows Vista installiert ist, ist die MPEG-4-Dateiquelle unter Windows Vista verfügbar, ist jedoch nur unter Windows Vista über die Source Readerverfügbar.
Windows 8-Updates für MPEG-4-Quelle und Sink
Drehungs-Lese- und Schreibunterstützung, die in Windows 8 MPEG-4-Quelle und -Spüle hinzugefügt wurde. Dies wird in der Windows 7 MPEG-4-Quelle und -Spüle nicht unterstützt.
MPEG-4-Quelle liest den Drehwinkel für eine aktive Videospur als Summe des Drehwinkels von "mvhd" und von "tkhd".
Microsoft MPEG-4 Sink schreibt den Drehwinkel in 'tkhd', schreibt aber 0 Grad (Identitätsmatrix) in 'mvhd'. Hinweis: Microsoft MPEG-4-Spüle unterstützt nur einzelne Videospuren.
IPropertyStore liest den Drehwinkel nur für die erste Videospur als Summe des Drehwinkels von "mvhd" und von "tkhd".
IPropertyStore schreibt den Drehwinkel nur für die erste Videospur in 'tkhd', nachdem der Drehwinkel gemäß dem Drehwinkel in "mvhd" angepasst wird, sofern vorhanden.
Filmfragmente ('moof') werden in Windows 8 MPEG-4-Quelle und Sink unterstützt, aber "mfra" ist nicht.
H.263 wird in windows 8 MPEG-4-Quelle unterstützt.
MPEG-4-Quelle ordnet jetzt zwei Fourccs von 'h263' und 's263' im MPEG-4-Dateiformat dem Medientyp von MFVideoFormat_H263zu.
Weitere Viercc-Unterstützung für MJPEG in Windows 8 MPEG-4-Quelle hinzugefügt.
MPEG-4-Quellzuordnungen von "dmb1" dem Medientyp MFVideoFormat_MJPG.
Furigana-Metadatenunterstützung, die in der Windows 8 MPEG-4-Quelle hinzugefügt wurde.
MPEG-4-Quelle liest Furigana-Metadaten aus 'soal', 'soar', 'soaa', 'sonm' und 'soco'. IPropertyStore liest Furignana-Metadaten über den Satz der entsprechenden PKEYs.
Die folgende Tabelle zeigt die Zuordnung zwischen dem shell (kanonischen Namen), dem Eigenschaftsschlüssel und der Box-/Tag-ID im MPEG-4-Dateiformat.
Feld Eigenschaftsschlüssel Tag-/Feld-ID System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride aufsteigen System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa System.TitleSortOverride PKEY-_TitleSortOverride Sonm System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride Soco Stereo-3D-Atom-Unterstützung in Windows 8 MPEG-4-Quelle hinzugefügt.
AC3- und DD+-Unterstützung in Windows 8 MPEG-4-Quelle und Spüle hinzugefügt.
Dateien, die größer als 4 GIGABYTE (GB) sind, werden in Windows 8 MPEG-4-Sink für nicht fragmentale MP4 unterstützt.
Scrubbing wurde in der Windows 8 MPEG-4-Quelle optimiert.
Um die Latenz zu verringern, werden Informationen für die beiden nächstgelegenen Keyframes für eine bestimmte Suchposition über IMFSeekInfo::GetNearestKeyFramesverfügbar gemacht. Da der Keyframe keine abhängigen Frames enthält, wird der Frame nach dem Decodieren nur eines Frames dargestellt. Verwenden Sie IMFGetService::GetService, um diese Schnittstelle über die Medienquelle, Pipeline oder Anwendung abzurufen.
Legen Sie die Rate in mpeg-4-Quelle auf Null fest. Wenn sich die Pipeline im Scrubbingmodus befindet, ist die Rate null.
SPS und PPS können in Beispieldaten in MPEG-4-Spüle gespeichert werden.
MF_MPEG4SINK_SPSPPS_PASSTHROUGH Attribut auf MPEG-4-Spüle ist definiert, damit SPS und PPS zusammen mit Eingabebeispielen (H.264-Videodaten) gespeichert werden können. Die produzierten MP4-Clips können von Windows 7 MPEG-4-Quelle und anderen wiedergegeben werden.
SPS und PPS können aus Eingabebeispielen in MPEG-4-Spüle extrahiert werden.
Wenn SPS und PPS nicht über MF_MT_MPEG_SEQUENCE_HEADER auf den Eingabemedientyp der MPEG-4-Spüle festgelegt werden, versucht MPEG-4-Sink, SPS und PPS aus Eingabebeispielen zu extrahieren. MPEG-4-Spüle ignoriert alle Eingabebeispiele, bis sie das erste SPS und PPS findet, da alle Eingabebeispiele ohne SPS und PPS nicht decodiert werden können.
3D-Informationen in AVC-Konfigurationsdatensatz werden für nicht fragmentierte MP4 unterstützt.
DIE NALU-Länge ist für H.264 komprimierte Proben verfügbar, um die H.264 VLD DXVA-Decodierung zu optimieren.
MPEG-4-Quelle legt MF_NALU_LENGTH_SET für den Ausgabemedientyp MFVideoFormat_H264 oder MFVideoFormat_h264fest. Es legt den Blob von MF_NALU_LENGTH_INFORMATION für jedes Ausgabebeispiel mit vier Byte NALU-Länge für verschiedene NALU in einem komprimierten Beispiel fest.
Unterstützung für MPEG2 ADTS-Audio in MP4-Quelle hinzugefügt.
Verwandte Themen