Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De MPEG-4-bestandsbron parseert MP4- en 3GPP-bestanden. Raadpleeg de volgende standaardendocumenten voor meer informatie over de MP4-bestandsindeling:
- ISO/IEC 14496-12: Informatietechnologie -- Coderen van audiovisual objecten -- Deel 12: ISO Base Media File Format
- ISO/IEC 14496-14: Information technology -- Coding of audio-visual objects -- Part 14: MP4 File Format
Notitie
(Deze resources zijn mogelijk niet beschikbaar in sommige talen en landen.)
De MPEG-4-bestandsbron decodert de audio-/videogegevens in het bestand niet.
Dit onderwerp bevat de volgende secties:
Bestandsextensies en MIME-typen
De MPEG-4-bestandsbron is de standaardmediabron voor de volgende bestandsnaamextensies.
| Bestandsextensie | Beschrijving |
|---|---|
| .3g2 | 3GPP2 |
| .3gp | 3GPP |
| .3gp2 | 3GPP2 |
| .3gpp | 3GPP |
| .m4a | MPEG-4-audio |
| .m4v | MPEG-4-video |
| .Mov | Apple QuickTime-film |
| .mp4 | MPEG-4-audio of -video |
| .mp4v | MPEG-4-video |
Het is ook de standaardmediabron voor de volgende MIME-typen.
| MIME-type | Beschrijving |
|---|---|
| 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 |
Mediatypen
MP4 is een uitbreidbare containerindeling. De MP4-specificatie definieert geen vaste structuur voor het beschrijven van mediatypen in een MP4-container. In plaats daarvan definieert het een objecthiërarchie waarmee aangepaste structuren voor elke indeling kunnen worden gedefinieerd. De indelingsbeschrijving wordt opgeslagen in het voorbeeldbeschrijvingsvak ('stsd') voor die stream. Het voorbeeldbeschrijvingsvak bevat een lijst met voorbeeldvermeldingen. Voor elke voorbeeldvermelding definieert een 4-bytecode, vergelijkbaar met een FOURCC, de indelingsstructuur.
Deze uitbreidbaarheid betekent dat de MPEG-4-bestandsbron elke mogelijke indelingsbeschrijving niet kan herkennen. In plaats daarvan is er een benadering met twee lagen nodig bij het maken van mediatypen voor de streams. Minimaal bevat elk mediatype de volgende kenmerken.
| Attribuut | Beschrijving |
|---|---|
| MF_MT_MAJOR_TYPE | Gelijk aan MFMediaType_Audio of MFMediaType_Video. |
| MF_MT_SUBTYPE | Hiermee geeft u het streamsubtype op. |
| MF_MT_MPEG4_SAMPLE_DESCRIPTION | Bevat het volledige voorbeeldbeschrijvingsvak als een binaire blob. |
| MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY | Hiermee geeft u de huidige vermelding in het voorbeeldbeschrijvingsvak. |
De MPEG-4-bestandsbron herkent enkele voorbeeldinvoertypen. Voor deze vermeldingen kan de indelingsstructuur worden geparseerd en een volledig mediatype worden gemaakt, met aanvullende kenmerken die de opmaakdetails beschrijven. Zie Kenmerken van mediatype.
De MPEG-4-bestandsbron kan de volgende voorbeeldvermeldingen parseren.
| Voorbeeldinvoercode | Primair type | Subtype | Beschrijving | Notities |
|---|---|---|---|---|
| "alaw" | Audio | WAVE_FORMAT_ALAW | A-law codering | |
| 'jpeg' | Video | MFVideoFormat_MJPG | Photo-JPEG stream | De QuickTime-containerindeling biedt ook ondersteuning voor motion JPEG-streams met mjpa- of mjpb-vermeldingen, maar de MPEG-4-bestandsbron biedt geen volledig mediatype voor deze typen. |
| 'avc1' | Video | MFVideoFormat_H264 | H.264 video | |
| 'mp4a' | Audio |
MFAudioFormat_AAC MFAudioFormat_MP3 |
AAC of MP3 | De mp4a-vermelding kan andere MPEG-audio-indelingen beschrijven, maar de MPEG-4-bestandsbron parseert de indelingsstructuur niet. |
| 'mp4v' | Video |
MFVideoFormat_M4S2 MFVideoFormat_MP4V |
MPEG-4 deel 2 |
MFVideoFormat_M4S2 wordt gebruikt voor MPEG-4 deel 2 Simple Profile. MFVideoFormat_MP4V wordt gebruikt voor alle andere MPEG-4 deel 2-profielen, waaronder Advanced Simple Profile. |
| 'raw' | Audio | MFAudioFormat_PCM | 8-bits PCM-audio | |
| 'sowt' | Audio | MFAudioFormat_PCM | 16-bits pcM-audio | |
| 'twos' | Audio | MFAudioFormat_PCM | 16-bits pcM-audio van big-endian | De MPEG-4-bestandsbron converteert de audiogegevens naar de little-endian-indeling. |
| "ulaw" | Audio | WAVE_FORMAT_MULAW | coderen voor μ wetgeving | |
| 'vc-1' | Video | MFVideoFormat_WVC1 | VC-1 video | |
| 'GEEN' | Audio | MFAudioFormat_PCM | 8-bits of 16-bits pcm-audio van big-endian | De MPEG-4-bestandsbron converteert de audiogegevens naar de little-endian-indeling. |
| 0x00000000 | Audio | MFAudioFormat_PCM | 8-bits of 16-bits pcm-audio van big-endian | De MPEG-4-bestandsbron converteert de audiogegevens naar de little-endian-indeling. |
| 0x6d730002 | Audio | WAVE_FORMAT_ADPCM | Adaptive Differential Pulse Code Modulation (ADPCM) | |
| 0x6d730011 | Audio | WAVE_FORMAT_IMA_ADPCM | ADPCM |
Voor andere codes die niet in de vorige tabel worden weergegeven, stelt de MPEG-4-bestandsbron het subtype als volgt in:
- subtype = MFMPEG4Format_Base
- subtype. Data1 = voorbeeldinvoercode
Voor codes die niet in de tabel worden weergegeven, moet een decoder het kenmerk MF_MT_MPEG4_SAMPLE_DESCRIPTION gebruiken om het voorbeeldbeschrijvingsvak te parseren.
Zie de MP4-registratie-instantie website voor een lijst met voorbeeldinvoercodes en koppelingen naar relevante specificaties.
Beperkingen
De MPEG-4-bestandsbron biedt geen ondersteuning voor de volgende functies van MP4-bestanden:
- Externe sporen.
- Filmfragmenten ('moof' of 'mfra'-vakken). Moof wordt ondersteund in Windows 8.
- Gestreamde presentaties. De MPEG-4-bestandsbron negeert op de achtergrond hintsporen.
- Op zoek naar SMPTE-tijdcode.
- Gecomprimeerde ('cmov') atomen.
Alleen video- en audiostreams worden ondersteund. Alle nummers die andere stroomtypen bevatten, worden op de achtergrond genegeerd. Mediagegevens moeten in 'mdat'-atomen worden geplaatst.
Als Platform Update Supplement voor Windows Vista is geïnstalleerd, is de MPEG-4-bestandsbron beschikbaar op Windows Vista, maar is alleen toegankelijk op Windows Vista met behulp van de Bronlezer.
Windows 8-updates voor MPEG-4-bron en -sink
Ondersteuning voor lees- en schrijfbewerkingen die zijn toegevoegd aan de bron- en sink van Windows 8 MPEG-4. Dit wordt niet ondersteund in de Bron en sink van Windows 7 MPEG-4.
MPEG-4-bron leest de draaihoek voor een actief videospoor als de som van de draaihoek van 'mvhd' en 'tkhd'.
Microsoft MPEG-4 sink schrijft de draaihoek in 'tkhd', maar schrijft een matrix van 0 graden (identiteit) in 'mvhd'. Houd er rekening mee dat Microsoft MPEG-4 sink alleen ondersteuning biedt voor één videotrack.
IPropertyStore leest de draaihoek voor alleen het eerste videospoor als de som van de draaihoek van 'mvhd' en 'tkhd'.
IPropertyStore schrijft de draaihoek voor alleen het eerste videospoor in 'tkhd' nadat de draaihoek is aangepast aan de draaihoek in 'mvhd', als deze bestaat.
Filmfragmenten ('moof') worden ondersteund in de Bron en sink van Windows 8 MPEG-4, maar 'mfra' is dat niet.
H.263 wordt ondersteund in windows 8 MPEG-4-bron.
MPEG-4-bron wijst nu twee fourcc's van 'h263' en 's263' in MPEG-4-bestandsindeling toe aan het mediatype van MFVideoFormat_H263.
Meer fourcc-ondersteuning toegevoegd voor MJPEG in Windows 8 MPEG-4-bron.
MPEG-4 source maps foucc of 'dmb1' aan het mediatype van MFVideoFormat_MJPG.
Furigana-metagegevensondersteuning toegevoegd aan de Windows 8 MPEG-4-bron.
MPEG-4-bron leest furigana-metagegevens uit 'soal', 'soar', 'soaa', 'sonm' en 'soco'. IPropertyStore leest Furignana-metagegevens via de set bijbehorende PKEY's.
In de volgende tabel ziet u de toewijzing tussen de canonieke naam van de shell, de eigenschapssleutel en de box/tag-id in MPEG-4-bestandsindeling.
Veld Eigenschapssleutel Tag/box-id System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride stijgen System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa System.TitleSortOverride PKEY-_TitleSortOverride sonm System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride soco Stereo 3D atom-ondersteuning toegevoegd in Windows 8 MPEG-4-bron.
AC3- en DD+-ondersteuning toegevoegd in windows 8 MPEG-4-bron en -sink.
Bestanden die groter zijn dan 4 gigabyte (GB) worden ondersteund in Windows 8 MPEG-4 sink voor niet-fragmentale MP4.
Scrubbing is geoptimaliseerd in windows 8 MPEG-4-bron.
Om de latentie te verminderen, worden gegevens voor de twee dichtstbijzijnde sleutelframes voor een bepaalde zoekpositie weergegeven via IMFSeekInfo::GetNearestKeyFrames. Omdat het sleutelframe geen afhankelijke frames heeft, wordt het frame weergegeven na het decoderen van slechts één frame. Gebruik IMFGetService::GetService om deze interface te verkrijgen via de mediabron, pijplijn of toepassing.
Stel de snelheid in op nul in MPEG-4-bron. Wanneer de pijplijn zich in de scrubmodus bevindt, is de snelheid nul.
SPS en PPS kunnen worden opgeslagen in voorbeeldgegevens in MPEG-4 sink.
MF_MPEG4SINK_SPSPPS_PASSTHROUGH kenmerk voor MPEG-4 sink is gedefinieerd om toe te staan dat SPS en PPS samen met invoervoorbeelden (H.264-videogegevens) worden opgeslagen. De geproduceerde mp4-clips kunnen worden afgespeeld door windows 7 MPEG-4-bron en andere.
SPS en PPS kunnen worden geëxtraheerd uit invoervoorbeelden in MPEG-4 sink.
Wanneer SPS en PPS niet zijn ingesteld via MF_MT_MPEG_SEQUENCE_HEADER voor het invoermediatype van de MPEG-4-sink, probeert MPEG-4 sink SPS en PPS te extraheren uit invoervoorbeelden. MPEG-4 sink negeert invoervoorbeelden totdat de eerste SPS en PPS worden gevonden, omdat alle invoervoorbeelden zonder SPS en PPS niet decoderen.
3D-informatie in AVC-configuratierecord wordt ondersteund voor niet-fragmentale MP4.
De NALU-lengte wordt weergegeven voor gecomprimeerde H.264-voorbeelden om H.264 VLD DXVA-decodering te optimaliseren.
MPEG-4-bronsets MF_NALU_LENGTH_SET op het uitvoermediatype van MFVideoFormat_H264 of MFVideoFormat_h264. Hiermee wordt de blob van MF_NALU_LENGTH_INFORMATION op elk uitvoervoorbeeld ingesteld, met een NALU-lengte van vier bytes voor verschillende NALU's in één gecomprimeerd voorbeeld.
Ondersteuning toegevoegd voor MPEG2 ADTS-audio in MP4-bron.
Verwante onderwerpen