Dela via


MPEG-4-filkälla

MPEG-4-filkällan parsar MP4- och 3GPP-filer. Mer information om MP4-filformatet finns i följande standarddokument:

  • ISO/IEC 14496-12: Information technology -- Coding of audio-visual objects -- Part 12: ISO Base Media File Format
  • ISO/IEC 14496-14: Information technology -- Coding of audio-visual objects -- Part 14: MP4 File Format

Not

(Dessa resurser kanske inte är tillgängliga i vissa språk och länder.)

 

MPEG-4-filkällan avkodar inte ljud-/videodata i filen.

Det här avsnittet innehåller följande avsnitt:

Filnamnstillägg och MIME-typer

MPEG-4-filkällan är standardmediekällan för följande filnamnstillägg.

Filnamnstillägg Beskrivning
.3g2 3GPP2
.3gp 3GPP
.3gp2 3GPP2
.3gpp 3GPP
.m4a MPEG-4-ljud
.m4v MPEG-4 video
.Mov Apple QuickTime-film
.mp4 MPEG-4-ljud eller video
.mp4v MPEG-4 video

 

Det är också standardmediekällan för följande MIME-typer.

MIME-typ Beskrivning
audio/3gpp 3GPP-ljud
audio/3gpp2 3GPP2-ljud
audio/mp4 MPEG-4-ljud
video/3gpp 3GPP-video
video/3gpp2 3GPP2-video
video/mp4 MPEG-4 video

 

Medietyper

MP4 är ett utökningsbart containerformat. MP4-specifikationen definierar inte en fast struktur för att beskriva medietyper i en MP4-container. I stället definierar den en objekthierarki som gör att anpassade strukturer kan definieras för varje format. Formatbeskrivningen lagras i exempelbeskrivningsrutan ("stsd") för strömmen. Exempelbeskrivningsrutan innehåller en lista med exempelposter. För varje exempelpost definierar en 4-byteskod, som liknar en FOURCC, formatstrukturen.

Den här utökningsbarheten innebär att MPEG-4-filkällan inte kan identifiera alla möjliga formatbeskrivningar. I stället används en metod med två nivåer när du skapar medietyper för strömmarna. Varje medietyp innehåller minst följande attribut.

Attribut Beskrivning
MF_MT_MAJOR_TYPE Lika med MFMediaType_Audio eller MFMediaType_Video.
MF_MT_SUBTYPE Anger strömundertypen.
MF_MT_MPEG4_SAMPLE_DESCRIPTION Innehåller den fullständiga exempelbeskrivningsrutan som en binär blob.
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY Anger den aktuella posten i exempelbeskrivningsrutan.

 

MPEG-4-filkällan känner igen några exempelinmatningstyper. För dessa poster kan den parsa formatstrukturen och skapa en fullständig medietyp med ytterligare attribut som beskriver formatinformationen. Se mediatypattribut.

MPEG-4-filkällan kan parsa följande exempelposter.

Exempel på postkod Huvudtyp Subtyp Beskrivning Anteckningar
"alaw" Ljud WAVE_FORMAT_ALAW A-lagskodning
"jpeg" Video MFVideoFormat_MJPG Photo-JPEG ström QuickTime-containerformatet stöder även jpeg-rörelseströmmar med mjpa- eller mjpb-poster, men MPEG-4-filkällan tillhandahåller inte en fullständig medietyp för dessa typer.
"avc1" Video MFVideoFormat_H264 H.264-video
"mp4a" Ljud MFAudioFormat_AAC
MFAudioFormat_MP3
AAC eller MP3 Posten "mp4a" kan beskriva andra MPEG-ljudformat, men MPEG-4-filkällan parsar inte formatstrukturen.
"mp4v" Video MFVideoFormat_M4S2
MFVideoFormat_MP4V
MPEG-4 del 2 MFVideoFormat_M4S2 används för MPEG-4 del 2 Enkel profil.
MFVideoFormat_MP4V används för alla andra MPEG-4 del 2-profiler, inklusive Avancerad enkel profil.
"raw" Ljud MFAudioFormat_PCM 8-bitars PCM-ljud
'sowt' Ljud MFAudioFormat_PCM 16-bitars little-endian PCM-ljud
"tvåor" Ljud MFAudioFormat_PCM 16-bitars big-endian PCM-ljud MPEG-4-filkällan konverterar ljuddata till lite endianskt format.
"ulaw" Ljud WAVE_FORMAT_MULAW μ-lagskodning
"vc-1" Video MFVideoFormat_WVC1 Video med VC-1
"INGEN" Ljud MFAudioFormat_PCM 8-bitars eller 16-bitars big-endian PCM-ljud MPEG-4-filkällan konverterar ljuddata till lite endianskt format.
0x00000000 Ljud MFAudioFormat_PCM 8-bitars eller 16-bitars big-endian PCM-ljud MPEG-4-filkällan konverterar ljuddata till lite endianskt format.
0x6d730002 Ljud WAVE_FORMAT_ADPCM ADPCM (Adaptive Differential Pulse Code Modulation)
0x6d730011 Ljud WAVE_FORMAT_IMA_ADPCM ADPCM

 

För andra koder som inte visas i föregående tabell anger MPEG-4-filkällan undertypen enligt följande:

  1. undertyp = MFMPEG4Format_Base
  2. undertyp. Data1 = exempelinmatningskod

För koder som inte visas i tabellen måste en avkodare använda attributet MF_MT_MPEG4_SAMPLE_DESCRIPTION för att parsa exempelbeskrivningsrutan.

En lista över exempelinmatningskoder och länkar till relevanta specifikationer finns på registreringsutfärdare för MP4 webbplats.

Begränsningar

MPEG-4-filkällan stöder inte följande funktioner i MP4-filer:

  • Externa spår.
  • Filmfragment ("moof" eller "mfra" lådor). "moof" stöds i Windows 8.
  • Strömmade presentationer. MPEG-4-filkällan ignorerar tyst tipsspår.
  • Söker efter SMPTE-tidskod.
  • Komprimerade atomer ('cmov').

Endast video- och ljudströmmar stöds. Alla spår som innehåller andra strömtyper ignoreras tyst. Mediedata måste placeras inuti "mdat"-atomer.

Om plattformsuppdateringstillägget för Windows Vista är installerat är MPEG-4-filkällan tillgänglig i Windows Vista, men är endast tillgänglig i Windows Vista med hjälp av Source Reader.

Windows 8-uppdateringar av MPEG-4-källa och mottagare

  • Stöd för rotationsläsning och skrivning har lagts till i Windows 8 MPEG-4-källa och mottagare. Detta stöds inte i Windows 7 MPEG-4-källan och mottagaren.

    MPEG-4-källan läser rotationsvinkeln för ett aktivt videospår som summan av rotationsvinkeln från "mvhd" och från "tkhd".

    Microsoft MPEG-4-mottagare skriver rotationsvinkeln i "tkhd" men skriver matrisen 0 grader (identitet) i "mvhd". Observera att Microsoft MPEG-4-mottagare endast stöder enkel videospår.

    IPropertyStore läser rotationsvinkeln för endast det första videospåret som summan av rotationsvinkeln från "mvhd" och från "tkhd".

    IPropertyStore skriver rotationsvinkeln endast för det första videospåret i "tkhd" efter att rotationsvinkeln justerats enligt rotationsvinkeln i "mvhd", om den finns.

  • Filmfragment ("moof") stöds i Windows 8 MPEG-4 källa och mottagare, men "mfra" är det inte.

  • H.263 stöds i Windows 8 MPEG-4-källa.

    MPEG-4 källa mappar nu två fourcc's av "h263" och "s263" i MPEG-4 filformat till medietypen för MFVideoFormat_H263.

  • Fler fourcc-stöd har lagts till för MJPEG i Windows 8 MPEG-4-källa.

    MPEG-4-källan mappar foucc av "dmb1" till medietypen för MFVideoFormat_MJPG.

  • Stöd för Furigana-metadata har lagts till i Windows 8 MPEG-4-källa.

    MPEG-4-källan läser Furigana-metadata från "soal", "soar", "soaa", "sonm" och "soco". IPropertyStore läser Furignana-metadata via uppsättningen med motsvarande PKEY:er.

    I följande tabell visas mappningen mellan gränssnittets kanoniska namn, egenskapsnyckeln och rutan/tagg-ID:t i FILformatet MPEG-4.

    Fält Egenskapsnyckel Tagg-/box-ID
    System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal
    System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride sväva
    System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa
    System.TitleSortOverride PKEY-_TitleSortOverride sonm
    System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride soco

     

  • Stöd för stereo-3D-atom har lagts till i Windows 8 MPEG-4-källa.

  • Stöd för AC3 och DD+ har lagts till i Windows 8 MPEG-4-källa och mottagare.

  • Filer som är större än 4 GIGABYTE (GB) stöds i Windows 8 MPEG-4-mottagare för icke-fragmenterad MP4.

  • Rensning har optimerats i Windows 8 MPEG-4-källa.

    För att minska svarstiden exponeras information för de två närmaste nyckelramarna för en viss sökposition via IMFSeekInfo::GetNearestKeyFrames. Eftersom nyckelramen inte har beroende bildrutor visas ramen efter att endast en bildruta har avkodats. Använd IMFGetService::GetService för att hämta det här gränssnittet via mediekällan, pipelinen eller programmet.

    Ange en hastighet till noll i MPEG-4-källan. När pipelinen är i rensningsläge är hastigheten noll.

  • SPS och PPS kan lagras i exempeldata i MPEG-4-mottagare.

    MF_MPEG4SINK_SPSPPS_PASSTHROUGH attribut på MPEG-4-mottagare definieras så att SPS och PPS kan sparas tillsammans med indataexempel (H.264-videodata). De producerade mp4-klippen kan spelas upp av Windows 7 MPEG-4-källan och andra.

  • SPS och PPS kan extraheras från indataexempel i MPEG-4-mottagare.

    När SPS och PPS inte anges via MF_MT_MPEG_SEQUENCE_HEADER på indatamedietypen för MPEG-4-mottagaren försöker MPEG-4-mottagaren extrahera SPS och PPS från indataexempel. MPEG-4-mottagare ignorerar alla indataexempel tills den hittar den första SPS och PPS, eftersom alla indataexempel utan SPS och PPS inte kan avkodas.

  • 3D-information i AVC-konfigurationsposten stöds för icke-fragmenterad MP4.

  • NALU-längd exponeras för H.264-komprimerade prover för att optimera H.264 VLD DXVA-avkodning.

    MPEG-4-källuppsättningar MF_NALU_LENGTH_SET på utdatamediatypen för MFVideoFormat_H264 eller MFVideoFormat_h264. Den anger bloben med MF_NALU_LENGTH_INFORMATION för varje utdataexempel, med NALU-längd på fyra byte för olika NALU:er i ett komprimerat exempel.

  • Stöd har lagts till för MPEG2 ADTS-ljud i MP4-källa.

mediekällor och mottagare

MPEG-4-stöd i Media Foundation

medieformat som stöds i Media Foundation