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 -- Codierung von audiovisuellen Objekten -- Teil 12: ISO-Basismediendateiformat
- ISO/IEC 14496-14: Informationstechnologie -- Codierung von audiovisuellen Objekten -- Teil 14: MP4-Dateiformat
Hinweis
(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 folgende Abschnitte:
Dateierweiterungen und MIME-Typen
Die MPEG-4-Dateiquelle ist die Standardmedienquelle für die folgenden Dateinamenerweiterungen.
Dateierweiterung | 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 (MIME type) | 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, die es ermöglicht, benutzerdefinierte Strukturen für jedes Format zu definieren. Die Formatbeschreibung wird im Feld Beispielbeschreibung ('stsd') für diesen Stream gespeichert. Das Beispielbeschreibungsfeld enthält eine Liste mit Beispieleinträgen. Für jeden Beispieleintrag definiert ein 4-Byte-Code, ähnlich wie ein 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 Streams ein zweistufiger Ansatz verwendet. Mindestens enthält jeder Medientyp die folgenden Attribute.
attribute | BESCHREIBUNG |
---|---|
MF_MT_MAJOR_TYPE | Gleich MFMediaType_Audio oder MFMediaType_Video. |
MF_MT_SUBTYPE | Gibt den Streamuntertyp 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. Weitere Informationen finden Sie unter Medientypattribute.
Die MPEG-4-Dateiquelle kann die folgenden Beispieleinträge analysieren.
Beispieleintragscode | Haupttyp | Subtype | BESCHREIBUNG | Hinweise |
---|---|---|---|---|
"alaw" | Audio | WAVE_FORMAT_ALAW | A-Law-Codierung | |
"jpeg" | Video | MFVideoFormat_MJPG | Foto-JPEG-Stream | Das QuickTime-Containerformat unterstützt auch Motion JPEG-Streams mit Einträgen "mjpa" oder "mjpb", aber die MPEG-4-Dateiquelle bietet keinen vollständigen Medientyp für diese Typen. |
'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 Part 2 Simple Profile verwendet. MFVideoFormat_MP4V wird für alle anderen MPEG-4 Part 2-Profile verwendet, einschließlich Advanced Simple Profile. |
"raw" | Audio | MFAudioFormat_PCM | 8-Bit-PCM-Audio | |
"gesät" | Audio | MFAudioFormat_PCM | 16-Bit-Little-Endian-PCM-Audio | |
"zwei" | Audio | MFAudioFormat_PCM | 16-Bit-Big-Endian-PCM-Audio | Die MPEG-4-Dateiquelle konvertiert die Audiodaten in das Little-Endian-Format. |
"ulaw" | Audio | WAVE_FORMAT_MULAW | μ Codierung | |
'vc-1' | Video | MFVideoFormat_WVC1 | VC-1-Video | |
"KEINE" | Audio | MFAudioFormat_PCM | 8-Bit- oder 16-Bit-Big-Endian-PCM-Audio | Die MPEG-4-Dateiquelle konvertiert die Audiodaten in das Little-Endian-Format. |
0x00000000 | Audio | MFAudioFormat_PCM | 8-Bit- oder 16-Bit-Big-Endian-PCM-Audio | Die MPEG-4-Dateiquelle konvertiert die Audiodaten in das Little-Endian-Format. |
0x6d730002 | Audio | WAVE_FORMAT_ADPCM | Adaptive Differential Pulse Code 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 der Registrierungsstelle "MP4" .
Einschränkungen
Die MPEG-4-Dateiquelle unterstützt die folgenden Features von MP4-Dateien nicht:
- Externe Spuren.
- Filmfragmente ('moof' oder 'mfra'- Boxen). "moof" wird in Windows 8 unterstützt.
- Gestreamte Präsentationen. Hinweisspuren werden von der MPEG-4-Dateiquelle unbeaufsichtigt ignoriert.
- Suchen nach SMPTE-Zeitcode.
- Komprimierte Atome ('cmov').
Es werden nur Video- und Audiostreams unterstützt. Alle Spuren, die andere Streamtypen enthalten, werden unbeaufsichtigt ignoriert. Mediendaten müssen in "mdat"-Atomen platziert werden.
Wenn der Plattformupdatezusatz für Windows Vista installiert ist, ist die MPEG-4-Dateiquelle unter Windows Vista verfügbar, aber unter Windows Vista kann nur über den Quellleser zugegriffen werden.
Windows 8 Updates für MPEG-4-Quelle und Senke
Drehunterstützung für Lese- und Schreibvorgänge in Windows 8 MPEG-4-Quelle und -Senke hinzugefügt. Dies wird in der Windows 7 MPEG-4-Quelle und -Senke nicht unterstützt.
MPEG-4-Quelle liest den Drehwinkel für eine aktive Videospur als Summe des Drehwinkels von "mvhd" und "tkhd".
Microsoft MPEG-4-Senke schreibt den Drehwinkel in "tkhd", schreibt jedoch die Matrix "0 Grad (Identität) in "mvhd". Hinweis: Microsoft MPEG-4-Senke unterstützt nur einzelne Videospuren.
IPropertyStore liest den Drehwinkel nur für die erste Videospur als Summe des Drehwinkels von "mvhd" und aus "tkhd".
IPropertyStore schreibt den Drehwinkel nur für die erste Videospur in "tkhd", nachdem der Drehwinkel entsprechend dem Drehwinkel in "mvhd" angepasst wurde, sofern vorhanden.
Filmfragmente ('moof') werden in Windows 8 MPEG-4-Quelle und -Senke unterstützt, "mfra" jedoch nicht.
H.263 wird in Windows 8 MPEG-4-Quelle unterstützt.
Die MPEG-4-Quelle ordnet jetzt zwei Vierer von "h263" und "s263" im MPEG-4-Dateiformat dem Medientyp von MFVideoFormat_H263 zu.
Weitere Fourcc-Unterstützung für MJPEG in Windows 8 MPEG-4-Quelle hinzugefügt.
MPEG-4-Quelle ordnet foucc von "dmb1" dem Medientyp von MFVideoFormat_MJPG zu.
Furigana-Metadatenunterstützung, die in Windows 8 MPEG-4-Quelle hinzugefügt wurde.
DIE 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 kanonischen Shellnamen, dem Eigenschaftenschlüssel und der Box-/Tag-ID im MPEG-4-Dateiformat.
Feld Eigenschaftenschlüssel Tag-/Box-ID System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride Steigen System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa System.TitleSortOverride PKEY-_TitleSortOverride Sonm System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride Soco Unterstützung von Stereo-3D-Atomen in Windows 8 MPEG-4-Quelle hinzugefügt.
AC3- und DD+-Unterstützung in Windows 8 MPEG-4-Quelle und -Senke hinzugefügt.
Dateien, die größer als 4 Gigabyte (GB) sind, werden in Windows 8 MPEG-4-Senke für nicht fragmentale MP4 unterstützt.
Das Scrubbing wurde in 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::GetNearestKeyFrames verfügbar gemacht. Da der Keyframe über keine abhängigen Frames verfügt, wird der Frame nach der Decodierung nur eines Frames angezeigt. Verwenden Sie IMFGetService::GetService , um diese Schnittstelle über die Medienquelle, Pipeline oder Anwendung abzurufen.
Legen Sie die Rate in der MPEG-4-Quelle auf Null fest. Wenn sich die Pipeline im Bereinigungsmodus befindet, ist die Rate null.
SPS und PPS können in Beispieldaten in der MPEG-4-Senke gespeichert werden.
MF_MPEG4SINK_SPSPPS_PASSTHROUGH Attribut für die MPEG-4-Senke 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 der MPEG-4-Senke extrahiert werden.
Wenn SPS und PPS nicht über MF_MT_MPEG_SEQUENCE_HEADER auf dem Eingabemedientyp der MPEG-4-Senke festgelegt werden, versucht MPEG-4, SPS und PPS aus Eingabebeispielen zu extrahieren. Die MPEG-4-Senke ignoriert alle Eingabebeispiele, bis die erste SPS und PPS gefunden werden, da alle Eingabebeispiele ohne SPS und PPS nicht decodiert werden können.
3D-Informationen im AVC-Konfigurationsdatensatz werden für nicht fragmentierte MP4-Dateien unterstützt.
Die NALU-Länge wird für H.264-komprimierte Stichproben verfügbar gemacht, um die H.264 VLD DXVA-Decodierung zu optimieren.
Die MPEG-4-Quelle legt MF_NALU_LENGTH_SET für den Ausgabemedientyp MFVideoFormat_H264 oder MFVideoFormat_h264 fest. Es legt das Blob der MF_NALU_LENGTH_INFORMATION für jedes Ausgabebeispiel mit vier Byte-NALU-Länge für verschiedene NALUs in einem komprimierten Beispiel fest.
Unterstützung für MPEG2 ADTS-Audio in MP4-Quelle hinzugefügt.
Zugehörige Themen