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:
- undertyp = MFMPEG4Format_Base
- 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.
Relaterade ämnen