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:

  1. Untertyp = MFMPEG4Format_Base
  2. 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.

Medienquellen und Senken

MPEG-4-Unterstützung in Media Foundation

Unterstützte Medienformate in Media Foundation